{
  "nbformat": 4,
  "nbformat_minor": 0,
  "metadata": {
    "kernelspec": {
      "display_name": "Python 3",
      "language": "python",
      "name": "python3"
    },
    "language_info": {
      "codemirror_mode": {
        "name": "ipython",
        "version": 3
      },
      "file_extension": ".py",
      "mimetype": "text/x-python",
      "name": "python",
      "nbconvert_exporter": "python",
      "pygments_lexer": "ipython3",
      "version": "3.6.5"
    },
    "colab": {
      "name": "6-2_AnoGAN.ipynb",
      "provenance": [],
      "collapsed_sections": []
    }
  },
  "cells": [
    {
      "cell_type": "markdown",
      "metadata": {
        "id": "3SuZ-jXhNTRE"
      },
      "source": [
        "# 6.2 AnoGANの作成\n",
        "\n",
        "- 本ファイルでは、AnoGANのネットワークを実装とAnoGANの学習をします。\n"
      ]
    },
    {
      "cell_type": "markdown",
      "metadata": {
        "id": "MGPAU-EpNTRF"
      },
      "source": [
        "# 6.2 学習目標\n",
        "\n",
        "1.\tAnoGANでテスト画像に最も似た画像を生成するノイズzを求める方法を理解する\n",
        "2.\tAnoGANを実装し、手書き数字画像で異常検知が生成できる\n"
      ]
    },
    {
      "cell_type": "markdown",
      "metadata": {
        "id": "3cJuKeVRNTRF"
      },
      "source": [
        "# 事前準備\n",
        "書籍の指示に従い、本章で使用するデータを用意します"
      ]
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "D3LCPGrVNTRG"
      },
      "source": [
        "# パッケージのimport\n",
        "import random\n",
        "import math\n",
        "import time\n",
        "import pandas as pd\n",
        "import numpy as np\n",
        "from PIL import Image\n",
        "\n",
        "import torch\n",
        "import torch.utils.data as data\n",
        "import torch.nn as nn\n",
        "import torch.nn.functional as F\n",
        "import torch.optim as optim\n",
        "\n",
        "from torchvision import transforms"
      ],
      "execution_count": null,
      "outputs": []
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "dUnJkIgSNTRJ"
      },
      "source": [
        "# Setup seeds\n",
        "torch.manual_seed(1234)\n",
        "np.random.seed(1234)\n",
        "random.seed(1234)\n"
      ],
      "execution_count": null,
      "outputs": []
    },
    {
      "cell_type": "markdown",
      "metadata": {
        "id": "ZygEkOn_NTRM"
      },
      "source": [
        "# Generatorの実装"
      ]
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "LWBi040tNTRP"
      },
      "source": [
        "class Generator(nn.Module):\n",
        "\n",
        "    def __init__(self, z_dim=20, image_size=64):\n",
        "        super(Generator, self).__init__()\n",
        "\n",
        "        self.layer1 = nn.Sequential(\n",
        "            nn.ConvTranspose2d(z_dim, image_size * 8,\n",
        "                               kernel_size=4, stride=1),\n",
        "            nn.BatchNorm2d(image_size * 8),\n",
        "            nn.ReLU(inplace=True))\n",
        "\n",
        "        self.layer2 = nn.Sequential(\n",
        "            nn.ConvTranspose2d(image_size * 8, image_size * 4,\n",
        "                               kernel_size=4, stride=2, padding=1),\n",
        "            nn.BatchNorm2d(image_size * 4),\n",
        "            nn.ReLU(inplace=True))\n",
        "\n",
        "        self.layer3 = nn.Sequential(\n",
        "            nn.ConvTranspose2d(image_size * 4, image_size * 2,\n",
        "                               kernel_size=4, stride=2, padding=1),\n",
        "            nn.BatchNorm2d(image_size * 2),\n",
        "            nn.ReLU(inplace=True))\n",
        "\n",
        "        self.layer4 = nn.Sequential(\n",
        "            nn.ConvTranspose2d(image_size * 2, image_size,\n",
        "                               kernel_size=4, stride=2, padding=1),\n",
        "            nn.BatchNorm2d(image_size),\n",
        "            nn.ReLU(inplace=True))\n",
        "\n",
        "        self.last = nn.Sequential(\n",
        "            nn.ConvTranspose2d(image_size, 1, kernel_size=4,\n",
        "                               stride=2, padding=1),\n",
        "            nn.Tanh())\n",
        "        # 注意：白黒画像なので出力チャネルは1つだけ\n",
        "\n",
        "    def forward(self, z):\n",
        "        out = self.layer1(z)\n",
        "        out = self.layer2(out)\n",
        "        out = self.layer3(out)\n",
        "        out = self.layer4(out)\n",
        "        out = self.last(out)\n",
        "\n",
        "        return out\n"
      ],
      "execution_count": null,
      "outputs": []
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "WyU7Yx0KNTRS",
        "outputId": "2c3e3f01-79fb-467c-b6f8-481ca9038741"
      },
      "source": [
        "# 動作確認\n",
        "import matplotlib.pyplot as plt\n",
        "%matplotlib inline\n",
        "\n",
        "G = Generator(z_dim=20, image_size=64)\n",
        "\n",
        "# 入力する乱数\n",
        "input_z = torch.randn(1, 20)\n",
        "\n",
        "# テンソルサイズを(1, 20, 1, 1)に変形\n",
        "input_z = input_z.view(input_z.size(0), input_z.size(1), 1, 1)\n",
        "\n",
        "# 偽画像を出力\n",
        "fake_images = G(input_z)\n",
        "\n",
        "img_transformed = fake_images[0][0].detach().numpy()\n",
        "plt.imshow(img_transformed, 'gray')\n",
        "plt.show()\n"
      ],
      "execution_count": null,
      "outputs": [
        {
          "output_type": "display_data",
          "data": {
            "image/png": "iVBORw0KGgoAAAANSUhEUgAAAP4AAAD8CAYAAABXXhlaAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADl0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uIDIuMi4yLCBodHRwOi8vbWF0cGxvdGxpYi5vcmcvhp/UCwAAIABJREFUeJztnXvcp2O1/z9XKjk1zmP2jMimEKUSkWw5RMhpt4udiGkrmxxzbpfO5BQpNTmGnM+0i5SiXTFOOSVMZISZZIRRDl2/P57ne817feY5ifk+4/ddn9fLy3qe6/rez/297/uae63rs9ZnlVqrEolEb+FVo30CiUSi+8iFn0j0IHLhJxI9iFz4iUQPIhd+ItGDyIWfSPQgcuEnEj2Il7TwSymblFLuLqXcW0o58OU6qUQiMWdR/tkEnlLKPJJ+L2kjSVMl3SBpu1rrnS/f6SUSiTmBV7+Ez64h6d5a6xRJKqWcLWlLSYMu/Pnmm6+OGTNGkvT3v/89jM0///zNfv755+NJvnrWaf7tb39r9kILLRTmPfXUU81+7WtfG8Yef/zxZi+66KLNfuaZZ8K8zvlJ0hNPPBHGXv/61w94PJ67JP3jH/9o9sILLxzGnn766Wb7P7r83q95zWsGPUce809/+lMYW2yxxZrNazXvvPNqMPB8/Wd+Z78evI4zZswIYzx/3uv55psvzJs5c2azSylhjJ/jefz5z38O85ZccslBz5F/j9d+wQUXDPP47CyxxBKDjr3qVdFJnmeeeZrN5+CRRx4Z9Bz9ni2yyCLN5jPgz/df/vKXZvt1fO655yRJTz75pJ555pl4IQfAS1n44yU9iJ+nSlpzqA+MGTNG22+/vSTpvvvuC2Nvf/vbm+0P0eKLL97s22+/vdnve9/7wrzrrruu2W984xvD2DnnnNPs7bbbrtm33XZbmPfBD36w2VdccUUY23DDDZt90UUXNfttb3tbmMeHeeuttw5jv/rVr5rt/8DxH5Nx48YNeo6bb755sz//+c+HsZ122qnZd9xxR7Pf/OY3h3lc3PwHQup7eDrgd77yyivDvP/4j/9o9qWXXhrGeP5/+MMfmr3yyiuHebfeemuz/R/re+65p9kbbbRRs0899dQwb/fdd2/2ZZddFsZWWWWVZt90003Nfs973hPm/fznP2/2Jz/5yTD2m9/8ptn+DyhfFHyGjzjiiDDv05/+dLMPPfTQMPbv//7vzebiXnfddcO8s88+u9n8XpL06KOPSorP+VCY45t7pZRdSimTSymTuSASicTo4aW88R+StDR+ntD/u4Ba6yRJkyRp/PjxteOmfuxjHwvzzjrrrGZvsskmYezf/u3fmv3Xv/612WPHjg3zpkyZ0uxvfetbYezuu+9uNt8Q/i/kpptu2uwf/vCHYWz99dcf8PjnnntumPff//3fzfY3Ld3Gm2++OYw9+OAsB2rbbbdttr9p+Yb413/91zB2wQUXNJvu5rHHHhvm0Uu55pprwtiXvvSlAY9PV1mSlltuuWavscYaYWzVVVdt9tFHH91s9y7oDfCNJsXr/YEPfKDZSy+9dJj3rne9q9lXXXVVGHvrW9/a7BtvvLHZ7hHy+Xj3u98dxuiluafAe7/DDjs020MJejoTJ04MYwwDjjrqqGbvs88+Yd7111/fbL8GHa/QvcjB8FLe+DdIWqGU8sZSymslbSvp0mE+k0gk5gL802/8WuvzpZTdJf1Y0jySTq613jHMxxKJxFyAl+Lqq9b6Q0k/HHZiIpGYq/CSFv6LxcyZM1ucxXhckhZYYIFmn3jiiWFs4403bvYf//jHZjPe92P6Tjg3FrfZZptmOzXEmPbXv/51GHv44YebzVj1e9/7XpjHePeMM84IY6RuPF5kXPz1r3+92b/85S/DPO5L+Dl+6EMfavY3vvGNZjsNxfiZsakUaTrSaD/60Y/CvKuvvrrZ3HWXpAkTJjSbu9OPPfZYmMfY2uNTzv32t7/d7B//+Mdh3qc+9almOyNE1oBshVOk//d//9fsY445Jozxeu+9995hjPsGPMZDD8XtLjIDfh032GCDZvM+ve51rwvzbrjhhmavtNJKYazzXJFeHAqZsptI9CBy4ScSPYiuuvoLLrhgc/tOOumkMHbkkUc2++KLLw5jpLkIp0XOO++8ZpMikaQ775yVUEiqZdq0aWHebrvt1uwPf/jDYewTn/hEs5dffvlmu+vJRJH9998/jDFryzP3SNsdfPDBzaZLLUUqx8OMLbbYotl0+0hrSZE2mjx5chjjvWCSFF1lKbr3F154YRhbe+21m33CCSc027PROoknkrTzzjsPOsakF898I23JUEeSnn322WYz+euuu+4K8+j6n3nmmWGMmZLMjJQilfg///M/zfYsRIZrDGulGP7xvHwdrLDCCgPa0qxn0LMwB0O+8ROJHkQu/ESiB5ELP5HoQXQ1xv/73//eKDePfUmVvfDCC2GMqbmM9x944IEw76Mf/Wizna5h8c1nPvOZZjMWlaTvf//7zSalJkV6jBQSKSMpxu5ehXjKKac02+O0r371q80mDeipw4zxPV5kvMsCEn4vSTrssMOazWsvSeutt16zmZLq14PX+Ctf+UoY22qrrQb826TvpFhl5qnP//u//9tsxtYen5Oe9dRkpubuu+++g85jmvj73//+MHb//fc324t0WNBDypH3UpL22GOPZv/nf/5nGON58X76PsG1117bbFLc0qzrw0rWoZBv/ESiB5ELP5HoQXTV1Z933nlbRRer1KSYdccMKCnWaZM28so6VnexLt3HWBt9+eWXh3mkbjwbbfz48c0mzdURQeiAlWSslpOii82QQ5J++9vfNpuZXp5Zxww/ZnNJMeuRFWGspPNz9PNnNiPFJX73u9+FeX5exHe+851mk+5kpZsUs/WcimI4yHCB2YRSpP2ciiO9+ZGPfKTZX/ziF8M8ai/4s8nje+jG53GppZZqtmeEMozx7EKGtqSoWbkoxfvuWX0d7QUPcQdDvvETiR5ELvxEogfxT4tt/jNYYIEFasf9dIEKZja5SAddQO4WU5pJitldFNuQYvhAXTYW/UjRXXvDG94Qxug6s5CDWXxSdF8ZHviYi2hQyoohwc9+9rMwj7v8lIyS4rWiO0hxECm6vccdd1wYY/EQM9N895+FSquttloYo6u7zjrrNNszCH/yk580+1/+5V/CGAuQOOZ6c3SV/fjM4OR3ZmGMFK/V9OnTwxg1+ChSIkW5t+OPP77ZDNsk6aCDDmq2h7IMXRhqMqNPiq4+NQ2lWQzAwQcfrClTpgyruZdv/ESiB5ELP5HoQeTCTyR6EF2l88aOHas999xT0uy0A7OZ3vGOd4Sx888/v9nMlNpll13CPGZYUZBSitl1pKU8nmOFGCk1Ke4N8PxdXIJxpWeZkZp0UdEdd9yx2dwLcPqKsbVLNU+dOrXZ3KNw8UfSp65Fz4wxVu7xPkhxH8X3Gjg2adKkZjNzUYqCFS6eShqNMuIHHHBAmEepaX92uCdE0VaXd2dWoldDkkp0OpJ7QpQUX3311cM87j1wz0OKz+NQezusPPzmN78Zxr72ta9Jmv1ZHAz5xk8kehC58BOJHkRXXf0nnniiiU24e0kKz11bClSwEIdunBSLHVzwgdljdHuZYSZJb3nLW5rNohwpZuuxc4xnxVGznhSMpBbqSLMLSrBoh9TZO9/5zjCPIY27x3QbTz/99GY75UiX1XUB6Y6vuOKKzfbuLQy1nOZiKETKy3X1KI7h7cZ4nzjPvzPFNtyFp5jKWmut1Wx3t3nPvOiK+vau/c8QhPfJqU9SpH4vqH/IAqxf/OIXYR6fHQ9RO8VI1AAcCvnGTyR6ELnwE4keRC78RKIH0dUYf9FFF22dar2yjrEf43hJ+uxnP9ts0i733ntvmEfaheKakvTe97632aRMPv7xj4d5pJ68woqVX4xHXfCSP3sfNsbnTj0xNZSdVyniKMW+ehQHlaL4Bqv/eA2lGIM7JUjRi//6r/9qtgukUtudcaoU43qmZ/s+AWkp16InbckqRK+e4zF8v4XPxCWXXNJsF7lg6rqnBDNt2WliXn/G1155SRqX3ZqlKNrBqkHSu5Jap2kpCqJKs6jWl613Xinl5FLKtFLK7fjdoqWUq0op9/T/f5GhjpFIJOYujMTVP1XSJva7AyVdXWtdQdLV/T8nEolXCIZ19WutvyilLGu/3lLSev32aZKukXSAhsHzzz/fdOy9/RWr5FwYgi4wKRnPFiOd564+XUVm53m4QArPXU/q1JNqcYEKijqwtbEknXzyyc2m3rwUQwtq01100UVhHqkzF54gBcbqRRduYGada8CxapBViKwwk6Tf//73zXZBEIYFpLx4/6RYdec6dex5sPnmmw94flIUx9hwww3DGN17Vrs5pUZK0N1oPgfeQou07n777TfoOTLkYHalFO8ne0McccQRYR4r8vy+d1qWMaQYCv/s5t7YWmuHqHxE0tihJicSibkLL3lXv/btigxa1F9K2aWUMrmUMtk7sSQSidHBP7ur/2gpZVyt9eFSyjhJ0wabWGudJGmSJC2//PK1s+vsRTp0v93lY9YW3eHTTjstzNt1112bvcwyy4QxumgUZGBnW0nadNNNm33qqaeGMWYbUnTBW2jRrXM5Zsos01WWohYbRT9coILZgC7RTbeR7r0X2NC1dcERZr8xo9JFRSgF7S7m448/PuDn/FpRfMT1D7mrT/EKf3YWX3zxAedJkbWhSImHT2xXdc0114SxoWTKea14vXnuUpQf9/vODrlkLMgwSTEz0I/REbLxEHow/LNv/EsldbiGHSVdMsTcRCIxl2EkdN5Zkn4l6c2llKmllImSDpO0USnlHkkb9v+cSCReIRjJrv52gwxtMMjvE4nEXI6uZu7NmDGjxVYuFsjWT04vsZUSaaOnn346zGN8c9lll4Uxxn6kZ9haS5K++93vNts3I0mVsTWTV3MxS9DFQtjiyIU+qMFP2supMtKKrtHeoXWkmPnl4hVs9+QtuhifkxL0edwr8X0ZZutRm98FJBnXe2UZ+xqwRTkr6aR4L7zlN+/nF77whWY7ncd9A7+mzNKkgIkURVeYWef7EGz3tuaaa4Yx0qTcv/FrxWfYr/dee+0laXYKejBkrn4i0YPIhZ9I9CC66uqPGTNGm222maTZqQq6cgceGDOASeGRbvNiChaG0B2WpG9961vNpgvlBR+HH354s6nRJkVxBRYL+TxmrbnOO6mtzrXogJQjMwpZsCPFQh+6l5K09dZbN5vf2SlBXjsvMmKmHSlSPwaLjG6++eYwRveb2vleRMKMPO+TwPMi/ebfmSGTd1rmc8ZQzQtlqGfnBUcUgvHuxDwXnq8XATFT0gumGIIwJGObMymGnt4VtxMmefg7GPKNn0j0IHLhJxI9iFz4iUQPoqsx/syZM1tPMQo8SJHKona+FGMixuBMdZQiFeLHZ8UfUzA95mSll/c/Y2oohQ89lZVxK2NuKcbu3CeQovAnv6en1JIec1FRVjIyjdbFTRgLeponKwp/+tOfNtvTUPm3XFSEdB4rL9m2Wopa9J5+TI34L3/5y812sU22qiZtJklbbrllsymw6TE4U6QpdCLFPSdPOWbaOGk6F1llaq+LivI6/uAHP2i23xf2JyTlKkkbb7yxpNlFOAdDvvETiR5ELvxEogfRVVd/gQUWaPplpKQkaf/992/2uuuuG8boytGl3GabbcI80nSuRUeXm+6xiyKwfTKzviTp/e9/f7OZnXfuueeGecza8vbU/J50L6Xo6rK60MMFVoG50AcFQphR6G4jKSQXfGBYxGw9bwfGv/2jH/0ojB188MED2hQYkeI9cxqXrdPf9KY3NdtDMGoSspJTkv7yl78MOOb3na2weG+lqOnHLFIpXgNW4PnzxypEZjxKseqTz+Z6660X5u2www7N9ozQTtuvOV2dl0gkXsHIhZ9I9CC66uo/9NBDbYd+2WWXDWPcXWe7IQe1xlzqmG6uF/pwl5wZYvy9NGt3VJp95/TEE09sNneqKUctxRCELZykuFPNbrBSLFw69thjm+0FNnTzKP0sxewxikZ491YKcbioA7PYKKHNHXIpiqcwo1KKgiDc0fZuuXSdXRSFoiXsHMviHSmKaLgQB937TkdZKbZDk6Jgxx133BHGqKF4yCGHhDE+c2QKeH0d3jqN2YUMfbiLL8Vr6kVGnXvI53Io5Bs/kehB5MJPJHoQufATiR5EV2P85ZZbTmeddZak2UUXSAd5jMXYl3E3xROl2K7K9fIZ3zEmZMsiKeqwu5gCBRpYbfWpT30qzGMM522VWd3l1XmsCqOghOvZ8/wffPDBMMaYn3SYx4scc1FR0k2MOdlaW4r7Fb4P8etf/7rZvD6+b8K9GGbxSfH6kN70Nlmk97gPI8XKSbZfp2CJFO+tP1f83k7TMaZm9aJnlfI6+vGpwU/611ubsdrSK0I7ewpsBTYU8o2fSPQgcuEnEj2Irrr6Dz74oPbZZx9J0oorrhjG6A66O8VCEQpsuJY73Tdq+EmRGqLWvWvzMfvK2xTRrWYGGgUepFhw5Jl1zEp0HXlmcFEgxIt5KDax9tprhzFqrpEm8iwwUnhOPfH8GSJQ6ESK9JK3LKNLz+/lnX9JaTJrUoqhFr+Lu9G8Z54pyWzLo48+utkMU6R4b72DMgu+/HlhYQ5thlJSX6foDvxa8fpQdMZpP2bu+fE7WZ+kF4dCvvETiR5ELvxEogeRCz+R6EF0NcZfaqmlWitrCitIMZZ04QkKZ+y0007N9io+imh43PqZz3ym2RQqZHwlxTjQNcoPO2xWwyDSeR6bEmx77Mdw+uoPf/hDszt7IVIUv5SiMIm3Cl966aWbzTbTFL+UYiqxU4KMQSk+4sKkrLDk35WiUAlTpCkiIkXRT4pySvE+kS702Jdxt9OFjOV5Hb3KjntAXj3HakWnofkzU5o9NZmt1PkMS9Lpp5/ebO7fuCAt438+f9IswdGhUoWJkbTQWrqU8rNSyp2llDtKKXv2/37RUspVpZR7+v+/yHDHSiQScwdG4uo/L2nfWuvKkt4tabdSysqSDpR0da11BUlX9/+cSCReARhJ77yHJT3cbz9ZSrlL0nhJW0par3/aaZKukXTAAIdomDZtmk444QRJs2uL33LLLc12kQGKQcycObPZbF8kRaEI1z9nRhsr8FxDja2rvCUyRR3ohrr7ut9++zXb6TaGLV4hxqpEXg/q9EsxtLjtttvCGF1FtrjmuUuRMvWWVMy6o16+Z1RS950hjCTddNNNzeZ9mThxYpjHv73hhhuGMVKy7C3gNCupSneBeS94r73VFis9vdqSFX+uaUfNPdLJDDulGPJ5BiSzDen28/5J8bmlpqE0O208HF7U5l4pZVlJb5f0G0lj+/9RkKRHJI0d5GOJRGIuw4gXfillQUkXSNqr1hr0fWpfgvCAScKllF1KKZNLKZNHuvGQSCTmLEa08Espr1Hfoj+z1toRwHu0lDKuf3ycpGkDfbbWOqnWunqtdXXPtEskEqODMlw1T+mTFTlN0l9qrXvh90dIeqzWelgp5UBJi9Za9x/sOJI0fvz42unF5lQZ1Ve8/xfpJsb/1CCXYm87B+kbqu64gg1VVFzkslNZKEUBSVcTIs3lMSdpLk8vJaXJasXjjz8+zGPc6nsl9KqoWuOqRqTHvFU402q5z8GUUSlSVJ6CzTbOrK70VtvcozjjjDPCGPXzWT3nPfx4P32f4Ljjjms224Z76i1TsFktJ0lHHnlks536ZOos9fLPP//8MI8Cqf7cMn2awq28f1JMVfZ9sE5a8b333qtnnnkmNg0YACPh8d8j6WOSbiuldHacDpZ0mKRzSykTJT0g6cODfD6RSMxlGMmu/nWSBvsXZPDMlUQiMddiWFf/5cT8889fO/ronh1FV46UlxQ10Cnc4BQS3TWnjZghxnZSb3nLWwad564W3Te6w3QnpdhCy0U62NLZ20J/4xvfGPAcXVSU4pWrrLJKGOvoq0tRYKNDo3ZALX0X+iA9yfvkAhis4rvmmmvCGNtak3b19lGkwFwshGEYBS+c5mIGp+v28xqQVvz2t78d5rG9ltOnfOacBqSOPVuiU0dfiiENswSlGCZRQMbFRxniuFDrVVddJalPrGPq1KnDuvqZq59I9CBy4ScSPYiuFukstthizU3zVj8sImFWnBTdJhaXcJdWikUensnEbDS6f84g0I32YiG21GKBzTvf+c4wjxrzrjdPfTi2hZJiYQ5dORbvSNE9doENZrgxRKLrLcVd/WuvvTaMsaCJ+v6uFcfMPddzp+47s8woSOE/+475Oeec02yGJq5VyL/tOokU4qBWoV836vF5B+W999672X4dqYvHcOfJJ58M85ilSSEYKRY/kUXxwipmCXp2YSczkIU8QyHf+IlEDyIXfiLRg8iFn0j0ILoa40uzxDK9TTaz37bffvswxjiTMRArx6QYI1I8QYrxEvX3Tz755DCP9KbHYqTtqNPPijgpxvGk6CSpk7k40DkyRvT9C4Ixrsfd7GfHeJexrhT3QCjYIcWsRMawfq2YDenVfxQ0YVWcZ61x74WiqlIUomB1m2chMsOP90WK2YXMcvzkJz8Z5rHHntPJ1PT37EK2te5QatLsYpj8Lk7nbbHFFs1mVemqq64a5pGO9KzSTkYkxWiHQr7xE4keRC78RKIH0VVXv5TSqDq621KkylgoI8Xssc997nPNJl0lScccc0yzXUSDlCCP4TrkLKZg9pwUBSCoKc8iDim2mfZWRzwGW1BL0jve8Y4Bz/+b3/xmmEd31sMdnv93vvOdZrtOHa8BM86kmG343ve+t9nM1JNiqOLXe6+9Wj1X0AV08ZEpU6Y02ylefu8bbrih2a5xyGw919xny3LSg8wUlaLOoLcU47PjVCIzOBmeeTESi66ccuto4kuR3vR+DaQ0PXTrCJo88MADGgnyjZ9I9CBy4ScSPYhc+IlED6KrMf4zzzzTqpSczmO6KoUmpJiy+oUvfKHZHj8zVvJ0R1JKTM9kGqQU0zO9+o9UDmNmp+U22mijZnv1HFOCnRpifM5Yz/u83Xrrrc1m5ZgU9e1JKa2++uphHum8JZZYIowxXfioo45qNnvUSVEMkzG9FMU9WFXGykUpin56pSjj7k022WTA30uxss6rMlkNyWO4QArvu7dO57VyepaUL7+b926k5r5XfVIUhHsB3NeQovgG14E0e9XjcMg3fiLRg8iFn0j0ILrq6o8dO7a5VK6NRh1y1y7nGDOgqHcuRZfSBTboDl5yySXN9mouik2QypKiCMPKK6/cbG/Dxeo2uppSpM48U43fh66b9w8gFef0DYVE6DqPHz8+zGMYw2xCKWrkMRPMrwcrAf06MtuSGZXbbrttmEdq0rP/GCYxROq0YeuANB2zDqU+YYoOKDji7jxdf2/vxurCT3ziE2GMFBvHPEzkvXYhEVYX8ll3MQ+GI14N2Qk3vbJwMOQbP5HoQeTCTyR6EF119R944IFWHHHppZeGMbr3rg/HNlTcEWW7Kym6x5SxlmLxAzvA+u4/s+f+9re/hTGyBtwlZ5GIFLOqfKeaktqUoJakNddcs9m8PnRzpeh6erdcFnbQ3XRBEGY5+i7zIovM6n9K/T3PmKMYBIU9pChiQoEUFz6hmIcLcZx99tnNXmqppZrN3Xkpymvvv39UeB/sGNw9l2L2JdkVSTrkkEOa7SEqwx0WEvkuO7P1yJRI8frQ1ffsPMqsM4SRZhUgedHWYMg3fiLRg8iFn0j0IHLhJxI9iK7G+EsttVSjuijwIMWKNm/9TFpjq622arZnnF144YXNpkCCFDXxWbXmcTZFGFzPnqIR3Ieg+KXPY3woxX0Cz8gjFUNKzbPzOu2SpNjWS4pxIGlL0k5+Ht4mm2Kn1P73KkHqwXsrMsbJFLb0GJS0q1dsMhOOMa0LVJCC9Ww3tqdidSH3MaRY4cdnTIr3cP311w9jpFqZEUpRWClWA7o4q1OEHfj35DnyWZdm7VWxvfpQGPaNX0p5XSnl+lLKraWUO0opX+j//RtLKb8ppdxbSjmnlJIdMROJVwhG4ur/XdL6tda3SVpN0iallHdLOlzSMbXW5SU9LmniEMdIJBJzEV5UC61SyvySrpO0q6QrJC1Va32+lLKWpENrrRsP9fmFFlqodugy77zKogPXsKMwAgUOvG0Ti3a8HdOnP/3pZtOF906xpNQ8y4zZaPwc3UkpFgR55h6LPD7+8Y+HscG6oXrowyImL74hBUmK1Fs/8Xq7EAcz3KiPT/06Pw/v2nvKKac0myIr3jaMIQfnSbFrLYtcKN4hSdddd12z3dVnxiZpM880ZLalt3MnteoCHqTfGPo49Xn55Zc32+/ZiSee2GwWZ/HaSDEr00VLOtmGF154oaZPn/7ytNAqpczT3yl3mqSrJN0naUattROUTpU0frDPJxKJuQsjWvi11hdqratJmiBpDUkrDvORhlLKLqWUyaWUyV6+mkgkRgcvis6rtc6Q9DNJa0lauJTS2f6dIOmhQT4zqda6eq11de5UJxKJ0cOwdF4pZQlJz9VaZ5RS5pO0kfo29n4m6UOSzpa0o6RLBj9KH8aMGdNSNL2dMbXLXcSAFVdsI+yiiKS2vHqJ9B512SlqIUVqi/r4Utw3IIXk6Z8UpfjVr34Vxtie2cUUKR5KgQqnwPj3nEZjmif7ALhOP+NHF398+OGHm819Am/5TSFLtqqWogY8j8dKOilSZ6R0pUh7UfjUz4P0o8fW1Lrn+fpeA9O4XZufew/+PUkLcv/GKTu+9D7/+c+HMR6TtqcfMw3d+yl2vg/3HIbCSHj8cZJOK6XMoz4P4dxa6+WllDslnV1K+bKkmyWdNNRBEonE3INhF36t9beS3j7A76eoL95PJBKvMHQ1c+/5559v2WqkYKRYmeXZR6x6It3hrZSYdefZaHfccUez6Tb6vgN10l3Mg1QOhRWcKnvooVnbHRTskKKL6RrwdKsZInjLb34Xz4BkFhizyryl08yZM5vNsEKSrrzyymYz+88rzijuQZEIKVYs8t66Zh2pUFZQSrHNFav//NkhVesVbaTYSFN6tiWfOWY/+s/uYrObGLI2AAAerklEQVTakj0DPITk+Xt/AoaQpEH92aEAi1cokuobCTJXP5HoQeTCTyR6EF119eedd96WjeWuOF1ul95mRh53RF3Uge2kuOsuSY8//nizWUDibh313Lw7LM+ZGXJ+vszM8lZKLO5x94yuHM/X3Uvufvv5s3BpqF1mZga6S/nUU081m9eYIYYU3Xl3sRmesRvvm970pjCP50+JdSnuUFNwhNmEfl6uuccWaSzUcmaA5+iZoxTfcCaJjAhDCXYSluKz5BLj1DVk51yGXFIMCbyQqHOvU3MvkUgMilz4iUQPIhd+ItGDeFHVeS8V8847b+1o37vIBUUdvQKKggSkfPbYY48wb9y4cc12AUlmsTHO9FZEFGf0eJSxPOkwVldJkb5yUVGKM3rlHq8BW3RRXFOK38UrAzmXsfrOO+8c5jE25XeRon4+Y9WbbropzKPwBPcM/PjPPvtss70PwBprzEoF8UxJ0qS89rxHUmyb5RWPV199dbMp6OLVeczc82eClYfcC5BiJR/7Ivj1ZsbpRRddFMaYwUk62StMuXfklamdZ+eiiy56+arzEonE/1/IhZ9I9CC6SuctuuiiTdzCs93oylFrXYp0FnXv2ZVWkq699tpme/shut8UkKAbKkW6zbvDkr5i+OHUIcU8zjzzzDDG70KddykKbrCoyN1SavC5tiAzA0mD8rpJMUvQO92SziKlRLpRklZaaaVmM6NSiu2wmGnnWXekRf2ZYPYii3681Rb7B3jREj/Hc6RLLcVCHxfKYAGZU3HUAtx6662b7V176bazw64Usy9Z0ORhHENZD4c7RW8etg2GfOMnEj2IXPiJRA8iF34i0YPoaow/Y8YMXXbZZZJmT4ukgIJXxTGNkXGUx63UZXcqjlr6g8XqUtwL8FRWCiNQnNFTb6l57hQVaSOn83j+2223XbMZ20nSsssu22xvKc74l9/ZaVvubVxxxRVhjNQTU5idQqJoBAVGpXgNeAzX92c1mj8T3A9hyuuNN94Y5m222WbNpkCnFHsjcq/ErwdFUFxUdKeddmq292TkHgurMj11+OKLL26275VQFIX7EF5RyR6KnvLeEQvhXsVQyDd+ItGDyIWfSPQguk7ndVoLsc2UFN2d22+/PYx95CMfaTb1z37wgx+EeXQVP/axj4UxtnHi8XfdddcwjxSSU08UnmB1F/X2pSi04N+Tbajozksxq4/f2TO9mOHHdtdSzFzjeVFQQ5I23nhWCwRvx0S3txOaSbNTVKSyvA0U3XHq/fHcpUi7fvGLXwxj1KIn9eltyVip5tluFMc48MADmz2UkIVTYqSN/XtS45/aiB7iMbvT24EzROAzwMxIKWYGuqtfyrDJegH5xk8kehC58BOJHkRXi3Tmm2++2slyc3eKxRRslyTF1kfMxOLuthTdeW+lRJeMWnfsPCtJJ500Syx4scUWC2NveMMbmk1mwOex8IR6cJK09NJLN/uJJ54IYxSUYPYY20BJsfjG5ZSZ0cXr02mx1AHdSy9s4Q405bB9t5sFQS4VTobitNNOa7ZLkXOH2zM2Dz/88GbzO1OLT5K23377ZtNVlqJr/r3vfa/ZrrXIMMA7EHOn3Itv1lprrWaTUXCxEIYWLu3NLEI+j94qjJLxzo48+eSTkvqEXx577LEs0kkkErMjF34i0YPIhZ9I9CC6SuctueSS2n333SXFVlJSjB+9hRbjf+qY+zGY3UUqSIrxP+M0b7XFz339618PY8ySIy3FmFiKQhZOLzHLbNNNNw1jjGkZ9zEel6Sjjz662fxeUozxaTv9QxETH+P5U5fe41vuDXjFHGN+0m1Ob5L69Ao/Vg0ym9B7CVDv31uW8fqwEtApQVKJrDqU4l6JV9bxGnMfwtuSUQSVFaBSFBwl1TdUK68jjzwyjHVEQF92sc3+Vtk3l1Iu7//5jaWU35RS7i2lnFNKee1wx0gkEnMHXoyrv6eku/Dz4ZKOqbUuL+lxSRMH/FQikZjrMCJXv5QyQdJmkr4iaZ/Slya0vqSOIsRpkg6VdMKAB+jHjBkzmlvs7ZiYTUe3Tora6BS58OyoSZMmNdvpK+q+U2Pe21gxY476+1Is8qDb5Vrrf/3rX5vtLjDdWc+mI7VFN9pbS6299trNdr18hhbMbKSGnxQpSGbnSbFwiW3KPHOP+v6kXCW1VmlSLLqifp0UxU68lRd1/HivvbiJGnwsypFioQ/vy6OPPhrmMXwibSuphafS7M8Lw0Gel1PSzBClsIcUi7DY3depSdKM66+/fhjzZ3A4jPSN/w1J+0vq5CQuJmlGrbUTUEyVNH6gDyYSibkPwy78UsrmkqbVWm8cbu4gn9+llDK5lDLZZa4SicToYCSu/nskbVFK2VTS6yS9XtKxkhYupby6/60/QdJDA3241jpJ0iRJGjNmTPfSBBOJxKAYduHXWg+SdJAklVLWk/SZWutHSynnSfqQpLMl7SjpkkEP0o9x48Y1GsWpG1JZXu1GCo+inOeee26Y5ymOBKk/xtZO/1BswmNfxtqkYBhzS5EO8h5tpPBckIGUEulN9guU4rWisIcUqTMegwIm0qwUT2n2vQymlHaqKaXZKSSeFyvwpJiayzRoF6jg33YKjFVx3FMhxShFStZTh7k/dNRRRzXbexp2+j0MdI7c5/B9Jabm8l57PwV+N6+G5LVihZ/fM4qnen+CzrPpexCD4aUk8Bygvo2+e9UX8580zPxEIjGX4EUl8NRar5F0Tb89RdIaQ81PJBJzJ7qauffHP/6xZYy5NhhbOruLQ2EIVi+5K06X23XH2UKbdA3dOCmKH/jxWcnIsIKVXVLUD/TWUjwvd21ZnUbhCR5PihVhrvdHYQvSaK4Vz2tKmkuK15HuvfcPoFu6yCKLhDFmAzJTzdt6s5cANQ2lwdtaeWUn23zxe0nSRz/60WZ/9atfbba3PWPo6VWfbJO15JJLhjFmQF5//fXNdpebIY0/V8z4I53HVmlSDPH8mevoQ/Jch0Lm6icSPYhc+IlED6Krrv7iiy/ehBG8SILtgtxd4U4+RRfcZaLb7plk1OCjy+cdYNnFl7LKUixSobiEd+blOdINlaJwxumnnx7G6MJTlMOLdCguwcIkafbd5A7mmWee8DMzJ7nrLsVsN2YGeisvZhc+/fTTYYwhB4tNPLSiy+rZnAy7xowZ02y2mZLifdlwww3DGDM2qb93/vnnh3kM41gUJsWQycVTqIPH8/VMOj4vLgJCl57PqYeCPC8XT+mETCxEGgr5xk8kehC58BOJHkQu/ESiB9HVGP+ZZ55pVXjMopIiVUTqTYrxKTPEPFNvlVVWabaLHZBeoU69t2NitpjHxbfcckuzKfjIttWSWitwaXb656c//WmzWU0oxUw7Vl9ts802YR6zzLyNGMU9SX06fcp4mtVtUqSoWO3mbcP33nvvZnvL7y996UvNZuWlf2dm0HmrsMcff7zZvN6+b8Lr4fsEbJ3O/RsKokrxvvv+EHsh+L4P7z37LrhoCZ8lPh9S7CnBLD7PCOX+CPc8pFnisiMVz803fiLRg8iFn0j0ILqqq7/MMsvUTgGEiymwu+2ZZ54Zxlhgw6wtz1qj28hutlKkxyhCQf13SXrXu9414PGkWGBDbbOf//znYR4zzujaSzET7rDDDgtjFO2gZv1b3/rWMI+6dR6qkM4hpebdbEkRepEOdeXo6rveHN1Z6u87KALi+n4Um/AeByyYIn3lYSLbR3mBDbvZssjF27SRRiN9LMWMOVKukrTDDjs0m8+ju/psWeb3k1Q2hWDY7ViKLcsOOOCAMNZ5Nm+//XY99dRTqaufSCRmRy78RKIHkQs/kehBdJXOe/bZZ5uAAKkPKca37EsnxZRPUkquv89Y2wUTGR8R1G6XYo+z5557Loztu+++zWYM57EYqbPvf//7YYwptV6FSKFMxqC+D7HFFls0+4wzzghjFDGh7XE8ZdCcGtpvv/2aTUpp8uTJYR4FO5zOYwtw0rN+TQkXWWXqMPve+TUlpenpvKRI+TkKhUqx+s/HKBDqYqEUg+E1Ztq2FL+3pzdzP4q0tvd14Pd08dR1111X0uz7E4Mh3/iJRA8iF34i0YPoqqtfa20uj2vFMcPNW2PRhWe11SmnnBLmTZs2rdmua0aRC7rK1JSTYnVXx33qgNQZs8pct48UmGviM3vMq93YuopVgz6PdKdTW8wQo1vqFWcU32B7Zym68MwadD07UnGkS6VIJdK19ZbipEX9+HT1SQN6dRtDLddypEAIr723p6Jb7SHHUNeK95fVoh7SkEp0kQ7SxKQHqZ8oxbZq3m78yiuvnO1ch0K+8ROJHkQu/ESiB9HVzL0xY8bUTqGBC2DQLXU3acKECc2mppq3p2IxxX333RfGGEpwd9RFKLir6mEAdevIKDhjwCxEuu9S3Mln+OGfo0tJTTZJuuKKK5pNkQgpZnSxGMQLYBiOuLgEx5hhyY6vUrxPLoDBEIQFMHfddVeYx8xG1wWkbDZd2+uuuy7MY+GPMxTUOOQO/D777BPmMSvR3XkyLN4UhgIbzLr75S9/Gebxu3nmHp9j6g46M0A583XWWSeM3X333ZL6CtCmT5+emXuJRGJ25MJPJHoQufATiR5EV+m88ePHN4EGp1NY3cWsLwf10F1fndSK00vUVyf9wxbIkrTnnns2uxM3dcDYjLGqt7hiuyfPJGP2mLd0Xm+99ZpNjXYX5WTVoLeTohAH6Su2zJakF154odlO9THrkdQeex9IsQ2XH5/UKu+17yeQzuPxpLg3QPrUaVze9w9+8INhjFl4FHH1yktWZfreEasGvV8DY3k+w9OnTw/z2F7L43NmJfK58lbeFAhhdqU06xnxrMDBMKKFX0q5X9KTkl6Q9HytdfVSyqKSzpG0rKT7JX241vr4YMdIJBJzD16Mq/++WutqtdbO9uSBkq6uta4g6er+nxOJxCsAL8XV31LSev32aerrqXfAYJOlPrf3y1/+sqRIXUnRvXK3kXNZ5OLFFCwUccEEaqOxmKKjVdYBXTnvDssMOtKRXhhB956iGVIUxKA4gxS75ZKWc0qQYhvU6Zdi+EMqzt15ZpndeuutYYznTBfVu/uSVnMXmNp3DBeoiyjF+852WlJ0Z5k1yb4CUgzjzjrrrDDGHgos2PEwkSGYZ/+tuuqqzXY9PrbbopvtxVP83rvuumsYY7bloYce2mwPF5i550VonWfJC9cGw0jf+FXSlaWUG0spnWZwY2utnSf8EUljB/5oIpGY2zDSN/46tdaHSilLSrqqlPI7DtZaayllwEyg/n8odpFml8pKJBKjgxG98WutD/X/f5qki9TXHvvRUso4Ser//7RBPjup1rp6rXV112xLJBKjg2Hf+KWUBSS9qtb6ZL/9fklflHSppB0lHdb//0uGO9ZCCy3U9OIPOuigMHbMMcc02wUIKKBIGso163/72982m6IWUqSRmCrrfenmn3/+Zrv+OfX4Sbe5sCf15hnfSjG99OKLLw5j/D6Mzz1NlD3g2LtNivEpq914baSope8pqhQB5fFdsJN7L9S2l6THHnus2ayu9HbapPD8maB+PlOr/QVC2tV7HLASk/syTnuxRyCrDqW4H+A96/jcdvavpNnbdVNAxp9NpoazatW/J/c5/BidPRauj6EwEld/rKSL+pVMXy3pB7XWH5VSbpB0billoqQHJH14iGMkEom5CMMu/FrrFElvG+D3j0naYE6cVCKRmLPoaubek08+2VpKe/YSXRynjdg6iPrnyyyzTJjHtllsuSRFaojHYHVV5xw7OOKII8IYM6lY1ehuHSklUjBSFKKgHrwUwwfSS66hztDH9ewpWHHVVVc12ynH8847r9keWtHVZWji7jz/tmf1kVZixhwzL6VY+ebfc/nll282aVdm+/nPrtvPTEZqELLi08/X9QnZ4oqtsKWo/U9azttVk5rj8aRImTKD0MFQZaWVVgpjnUxVF20ZDJmrn0j0IHLhJxI9iFz4iUQPoqsx/oILLtjST12gkvGoixEy3ZQKJexpJsVYlfOkWLVFmsvFCSmw6W2hmYDENtaHHHJImEcxTFbISVGJxdVzqApD0UWnBJkm6hrzjMkffPDBZrtCDr8L06Cl2OKa+xdeFcd4l2KSUhTpvOSSWUyvp2Pzejidx/0X0rG8NlLcX2B1pRQpMVb7+d8iVevqTUyPdRUi7gNtvvnmzSYtLEWRWO/DwLXA6+3t0ZmS7ntknfRpXzuDId/4iUQPIhd+ItGD6KrY5kILLVQ7QpdeHUVBSXeTqLNP99ipLGZOkRqTpJNPPrnZzIpzIQtSK54VRyEOZs+RHpSklVdeudn+Pan3722hOZda62yZLUWX0gUq+bdZIUZqTIoZbU49MZOM1Kq3oKbb66EVsyNJ2VFQQ4qVda65T/183j9mRkqRAvPrzfNgVpuLfjCccjFP6ux7FSLpM9K9m222WZi35ZZbNtvvBQVY+ay7aAnbfDEzUppFzx577LGaOnVqim0mEonZkQs/kehBdHVXf+GFF24uphcTsF2SFydQP4+tmdjJVYpFJK5Xxgwruq9e1EEtcw+DmJlFZoC77JJ0/vnnN5u7xVIslrngggvCGLXjmOk1ceLEMI+sgRfwUGCDRR0u6kDNOdeAJ9PBbEjXgyerQhERSVpzzTWbffzxxw96DHZGZjGPFIUzWNDkmZIskuLOvRSz3Vhg4/d9qHZgFEKhLqIUNfL22GOPZrMngI+RbZHUOkhLsTOyd43m93Rxlk6I4Pd5MOQbP5HoQeTCTyR6ELnwE4kexKhV522yySZhbPz48c32CiVWVZFicykv0leujc54kbr9pM2kKC5BqkmK2WnMhPN4kefIjEQpij8yo02KMT9jZBd/ZGYZr5v/TBFN31MhNeeipYzDO+2XpdmrIa+99tpmOyVIURHGzF7hx6w4p2eZkcf9G+rQS/F+MnNRitQw9zWcIj366KObzXskRfrNexwwm5FZmt6TkSB958dfeumlm+3a+bwXG2wQK+I7mXzeL2Aw5Bs/kehB5MJPJHoQXXX1qbnnOm8333xzs909ZiEKM7G8iIbUlrvw1J9nVp8LN7Ads2PnnXduNguHXH+fmvLehottoXfbbbcwxpZar371rFvjri0pNncpWajEz7mLTfqU1KQUM+NID7pOHUMyCntI0fWnsIXrDJIy3WmnncIYC3o4z7Mtf//73zfbqUm2N2N45q4yW4/vuOOOg445Xcgsvz/96U+DniNDAlJ7Usw2ZEjj94WZjU4XdqjgLNJJJBKDIhd+ItGDyIWfSPQgulqdt9hii9VOjy+vxGLVHbXKpUivsOrJq5eYnkkKUIrVTIzLXDyR+wkU25BiiioFE73KjhVW3ieNYgqeesrKL6bver82aqo7FUeRB8aj3juPlW/e34/XgBTS5MmTwzxW53mVIL8342lPU2blHivwpEhN8pnw+046z9NhKZLCnoaeHswKPIpmSFEE1NPEWSnJ+3nqqaeGeRRddTqP+yOkTL3nA59v38vo0NdnnnmmHn300azOSyQSsyMXfiLRg+gqnTf//POrI8ThNBTdOteiGzduXLNZYeXtjNg+eY011ghjCy20ULNZ4eca7dSbY1WZFDPJqA/v2n9HHXVUs50aIrXl+nDMZmQLbRf6IC3lFBtDCYqbUHNQinpuX/va18IYs/qYCeZad8xi4z2SIh1JmpXVZ358ryzj59hbwbM+mcnomvV0oykWwqxDKVY8MsySYmjlzyavKylT/y6kq11D8bnnnmv2P/7xj2Z7JSCfTd5naVaWJo81FEb0xi+lLFxKOb+U8rtSyl2llLVKKYuWUq4qpdzT//9Fhj9SIpGYGzBSV/9YST+qta6ovnZad0k6UNLVtdYVJF3d/3MikXgFYCTdcsdIWlfSxyWp1vqspGdLKVtKWq9/2mmSrpF0wOxHmIWZM2c2IQovQKCr7y48M/To/tEtkqTdd9+92e7yMRuNmXbf/e53wzxqqHkREHeI2SbLpavpKv75z38OYyxY8R3uadNmdRqngIcXLfFn3+HmMfjdXEeOu87uetKNZJYjW2FJMSRwmW9mZh544Kx3wnHHHRfmcSffi6J4DylKceedd4Z55557brOnTJkSxriDzkw4d8UZxrBwSIrfhaIZfl4M8fgsSjEjz68jj8nnyoui+F08W7TzHHjoOhhG8sZ/o6Tpkk4ppdxcSjmxv1322Fprhx95RH1ddROJxCsAI1n4r5b0Dkkn1FrfLulpmVtf+5IBBkwIKKXsUkqZXEqZzHz5RCIxehjJwp8qaWqttaNJfb76/iF4tJQyTpL6/z9toA/XWifVWlevta7uWnqJRGJ0MGyMX2t9pJTyYCnlzbXWuyVtIOnO/v92lHRY//8vGeIwkvoEJTqa7V6lRWEEF41gzMXMKW8zzYozp2so0kEaymk/Zqp59h8195m15nEl47l99903jJHOc1qK8fpyyy3XbKfimHXmIiBbbbVVs3fZZZdmO/1DqtJFHSnuyT0VxtJS3IdwnXruX3QoXClWsElRb9418fk5Pi++p7Lttts2m0KnPpcVm76vwYpKp8T47PieDYVJ+bc9k5HCKp4ZyL0Yiri4oCaFYLwdduc+jTQTd6Q8/qclnVlKea2kKZJ2Up+3cG4pZaKkByR9eIjPJxKJuQgjWvi11lskrT7A0AYD/C6RSMzl6Grm3vTp01sRiWeB0V32vQC2XSJdRX08KeqVLbJIzCei+0q6jSIOfh6uZ0/3nq2wXHSB7rGLS+y1117NppsrRZER0k3uYlPfn23DJGmttdZqNjO/XEeOIcFtt90Wxth3gNmK3imW4ZS3haLgCGkuhkFSvE/sjitFd5nCHp/97GfDPIZrrttPF5732rPzGIKQUpNiQdlQbcT4bLr2H9tfkd70YzD7dJVVVgnzGCa6pmQnLKLO/1DIXP1EogeRCz+R6EHkwk8kehBdr87rpJt6zMm2zS6iyVRFatF7O+1f/OIXA35GitVjK620UrM9XmQqsVcQUjed6bxOh/G7OK1D4Q/GhFKM7yi8ySo7KVJU3nZ61VVXbTb3Iby/H8Ur/ByZVkyREYp8SrGXG0U5pUhZMQXb9zVIK/o9O+yww5rNa+99+ljlSOpNir0Q+b24nyLF2H3ChAlhjHGzi6JQGJbXnn0LJWnddddttqfz8hmkKKffM6Y7UwBEku6//35Js/dSHAz5xk8kehC58BOJHkRXNfdKKdPVl+yzuKQ/DzN9TmNuOAcpz8OR5xHxYs9jmVrrEsNN6urCb3+0lMm11oESgnrqHPI88jxG6zzS1U8kehC58BOJHsRoLfxJw0+Z45gbzkHK83DkeUTMkfMYlRg/kUiMLtLVTyR6EF1d+KWUTUopd5dS7i2ldE2Vt5RycillWinldvyu6/LgpZSlSyk/K6XcWUq5o5Sy52icSynldaWU60spt/afxxf6f//GUspv+u/POf36C3McpZR5+vUcLx+t8yil3F9Kua2UckspZXL/70bjGemKlH3XFn4pZR5J35L0AUkrS9qulLJyl/78qZI2sd+Nhjz485L2rbWuLOndknbrvwbdPpe/S1q/1vo2SatJ2qSU8m5Jh0s6pta6vKTHJU0c4hgvJ/ZUn2R7B6N1Hu+rta4G+mw0npHuSNnXWrvyn6S1JP0YPx8k6aAu/v1lJd2On++WNK7fHifp7m6dC87hEkkbjea5SJpf0k2S1lRfosirB7pfc/DvT+h/mNeXdLmkMkrncb+kxe13Xb0vksZI+oP6997m5Hl009UfL4mtTKf2/260MKry4KWUZSW9XdJvRuNc+t3rW9QnknqVpPskzai1doTZu3V/viFpf0mdJgmLjdJ5VElXllJuLKV0xAq7fV+6JmWfm3saWh58TqCUsqCkCyTtVWv9K8e6dS611hdqraup7427hqQVh/nIy45SyuaSptVabxx28pzHOrXWd6gvFN2tlLIuB7t0X16SlP2LQTcX/kOSlsbPE/p/N1oYkTz4y41SymvUt+jPrLV26mZH5VwkqdY6Q9LP1OdSL1xK6ZRqd+P+vEfSFqWU+yWdrT53/9hROA/VWh/q//80SRep7x/Dbt+XlyRl/2LQzYV/g6QV+ndsXytpW0mXdvHvOy5Vnyy4NEJ58JeK0qcHfpKku2qtR4/WuZRSliilLNxvz6e+fYa71PcPwIe6dR611oNqrRNqrcuq73n4aa31o90+j1LKAqWUhTq2pPdLul1dvi+11kckPVhK6WjNd6TsX/7zmNObJrZJsamk36svnjyki3/3LEkPS3pOff+qTlRfLHm1pHsk/UTSol04j3XU56b9VtIt/f9t2u1zkfRWSTf3n8ftkj7X//vlJF0v6V5J50mat4v3aD1Jl4/GefT/vVv7/7uj82yO0jOymqTJ/ffmYkmLzInzyMy9RKIHkZt7iUQPIhd+ItGDyIWfSPQgcuEnEj2IXPiJRA8iF34i0YPIhZ9I9CBy4ScSPYj/B60ZuSLP+OLMAAAAAElFTkSuQmCC\n",
            "text/plain": [
              "<Figure size 432x288 with 1 Axes>"
            ]
          },
          "metadata": {
            "tags": []
          }
        }
      ]
    },
    {
      "cell_type": "markdown",
      "metadata": {
        "id": "9jboyUE0NTRU"
      },
      "source": [
        "# Discriminatorの実装"
      ]
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "-LOT-a3YNTRV"
      },
      "source": [
        "class Discriminator(nn.Module):\n",
        "\n",
        "    def __init__(self, z_dim=20, image_size=64):\n",
        "        super(Discriminator, self).__init__()\n",
        "\n",
        "        self.layer1 = nn.Sequential(\n",
        "            nn.Conv2d(1, image_size, kernel_size=4,\n",
        "                      stride=2, padding=1),\n",
        "            nn.LeakyReLU(0.1, inplace=True))\n",
        "        # 注意：白黒画像なので入力チャネルは1つだけ\n",
        "\n",
        "        self.layer2 = nn.Sequential(\n",
        "            nn.Conv2d(image_size, image_size*2, kernel_size=4,\n",
        "                      stride=2, padding=1),\n",
        "            nn.LeakyReLU(0.1, inplace=True))\n",
        "\n",
        "        self.layer3 = nn.Sequential(\n",
        "            nn.Conv2d(image_size*2, image_size*4, kernel_size=4,\n",
        "                      stride=2, padding=1),\n",
        "            nn.LeakyReLU(0.1, inplace=True))\n",
        "\n",
        "        self.layer4 = nn.Sequential(\n",
        "            nn.Conv2d(image_size*4, image_size*8, kernel_size=4,\n",
        "                      stride=2, padding=1),\n",
        "            nn.LeakyReLU(0.1, inplace=True))\n",
        "\n",
        "        self.last = nn.Conv2d(image_size*8, 1, kernel_size=4, stride=1)\n",
        "\n",
        "    def forward(self, x):\n",
        "        out = self.layer1(x)\n",
        "        out = self.layer2(out)\n",
        "        out = self.layer3(out)\n",
        "        out = self.layer4(out)\n",
        "\n",
        "        feature = out  # 最後にチャネルを1つに集約する手前の情報\n",
        "        feature = feature.view(feature.size()[0], -1)  # 2次元に変換\n",
        "\n",
        "        out = self.last(out)\n",
        "\n",
        "        return out, feature\n"
      ],
      "execution_count": null,
      "outputs": []
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "3revWoTwNTRX",
        "outputId": "74eecd6a-5227-4d3c-8267-2fa0468be600"
      },
      "source": [
        "# 動作確認\n",
        "D = Discriminator(z_dim=20, image_size=64)\n",
        "\n",
        "# 偽画像を生成\n",
        "input_z = torch.randn(1, 20)\n",
        "input_z = input_z.view(input_z.size(0), input_z.size(1), 1, 1)\n",
        "fake_images = G(input_z)\n",
        "\n",
        "# 偽画像をDに入力\n",
        "d_out = D(fake_images)\n",
        "\n",
        "# 出力d_outにSigmoidをかけて0から1に変換\n",
        "print(nn.Sigmoid()(d_out[0]))\n",
        "\n",
        "# feature\n",
        "print(d_out[1].shape)\n"
      ],
      "execution_count": null,
      "outputs": [
        {
          "output_type": "stream",
          "text": [
            "tensor([[[[0.4973]]]], grad_fn=<SigmoidBackward>)\n",
            "torch.Size([1, 8192])\n"
          ],
          "name": "stdout"
        }
      ]
    },
    {
      "cell_type": "markdown",
      "metadata": {
        "id": "QAME7J8vNTRa"
      },
      "source": [
        "# DataLoaderの作成"
      ]
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "7WpqJLFRNTRb"
      },
      "source": [
        "def make_datapath_list():\n",
        "    \"\"\"学習、検証の画像データとアノテーションデータへのファイルパスリストを作成する。 \"\"\"\n",
        "\n",
        "    train_img_list = list()  # 画像ファイルパスを格納\n",
        "\n",
        "    for img_idx in range(200):\n",
        "        img_path = \"./data/img_78/img_7_\" + str(img_idx)+'.jpg'\n",
        "        train_img_list.append(img_path)\n",
        "\n",
        "        img_path = \"./data/img_78/img_8_\" + str(img_idx)+'.jpg'\n",
        "        train_img_list.append(img_path)\n",
        "\n",
        "    return train_img_list\n"
      ],
      "execution_count": null,
      "outputs": []
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "w1npqlImNTRd"
      },
      "source": [
        "class ImageTransform():\n",
        "    \"\"\"画像の前処理クラス\"\"\"\n",
        "\n",
        "    def __init__(self, mean, std):\n",
        "        self.data_transform = transforms.Compose([\n",
        "            transforms.ToTensor(),\n",
        "            transforms.Normalize(mean, std)\n",
        "        ])\n",
        "\n",
        "    def __call__(self, img):\n",
        "        return self.data_transform(img)\n"
      ],
      "execution_count": null,
      "outputs": []
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "YUPqAsOINTRg"
      },
      "source": [
        "class GAN_Img_Dataset(data.Dataset):\n",
        "    \"\"\"画像のDatasetクラス。PyTorchのDatasetクラスを継承\"\"\"\n",
        "\n",
        "    def __init__(self, file_list, transform):\n",
        "        self.file_list = file_list\n",
        "        self.transform = transform\n",
        "\n",
        "    def __len__(self):\n",
        "        '''画像の枚数を返す'''\n",
        "        return len(self.file_list)\n",
        "\n",
        "    def __getitem__(self, index):\n",
        "        '''前処理をした画像のTensor形式のデータを取得'''\n",
        "\n",
        "        img_path = self.file_list[index]\n",
        "        img = Image.open(img_path)  # [高さ][幅]白黒\n",
        "\n",
        "        # 画像の前処理\n",
        "        img_transformed = self.transform(img)\n",
        "\n",
        "        return img_transformed\n"
      ],
      "execution_count": null,
      "outputs": []
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "AFt0gdYpNTRi",
        "outputId": "2b8ad2cf-915e-4ea0-fff3-03328102ba4b"
      },
      "source": [
        "# DataLoaderの作成と動作確認\n",
        "\n",
        "# ファイルリストを作成\n",
        "train_img_list=make_datapath_list()\n",
        "\n",
        "# Datasetを作成\n",
        "mean = (0.5,)\n",
        "std = (0.5,)\n",
        "train_dataset = GAN_Img_Dataset(\n",
        "    file_list=train_img_list, transform=ImageTransform(mean, std))\n",
        "\n",
        "# DataLoaderを作成\n",
        "batch_size = 64\n",
        "\n",
        "train_dataloader = torch.utils.data.DataLoader(\n",
        "    train_dataset, batch_size=batch_size, shuffle=True)\n",
        "\n",
        "# 動作の確認\n",
        "batch_iterator = iter(train_dataloader)  # イテレータに変換\n",
        "imges = next(batch_iterator)  # 1番目の要素を取り出す\n",
        "print(imges.size())  # torch.Size([64, 1, 64, 64])\n"
      ],
      "execution_count": null,
      "outputs": [
        {
          "output_type": "stream",
          "text": [
            "torch.Size([64, 1, 64, 64])\n"
          ],
          "name": "stdout"
        }
      ]
    },
    {
      "cell_type": "markdown",
      "metadata": {
        "id": "yCBgnXKjNTRl"
      },
      "source": [
        "# 学習させる"
      ]
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "mHFCLZtnNTRm",
        "outputId": "4e13cfe8-98a1-4a70-e580-ac2d7338cb63"
      },
      "source": [
        "# ネットワークの初期化\n",
        "def weights_init(m):\n",
        "    classname = m.__class__.__name__\n",
        "    if classname.find('Conv') != -1:\n",
        "        # Conv2dとConvTranspose2dの初期化\n",
        "        nn.init.normal_(m.weight.data, 0.0, 0.02)\n",
        "        nn.init.constant_(m.bias.data, 0)\n",
        "    elif classname.find('BatchNorm') != -1:\n",
        "        # BatchNorm2dの初期化\n",
        "        nn.init.normal_(m.weight.data, 1.0, 0.02)\n",
        "        nn.init.constant_(m.bias.data, 0)\n",
        "\n",
        "\n",
        "# 初期化の実施\n",
        "G.apply(weights_init)\n",
        "D.apply(weights_init)\n",
        "\n",
        "print(\"ネットワークの初期化完了\")\n"
      ],
      "execution_count": null,
      "outputs": [
        {
          "output_type": "stream",
          "text": [
            "ネットワークの初期化完了\n"
          ],
          "name": "stdout"
        }
      ]
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "tYKH3_EyNTRo"
      },
      "source": [
        "# モデルを学習させる関数を作成\n",
        "\n",
        "\n",
        "def train_model(G, D, dataloader, num_epochs):\n",
        "\n",
        "    # GPUが使えるかを確認\n",
        "    device = torch.device(\"cuda:0\" if torch.cuda.is_available() else \"cpu\")\n",
        "    print(\"使用デバイス：\", device)\n",
        "\n",
        "    # 最適化手法の設定\n",
        "    g_lr, d_lr = 0.0001, 0.0004\n",
        "    beta1, beta2 = 0.0, 0.9\n",
        "    g_optimizer = torch.optim.Adam(G.parameters(), g_lr, [beta1, beta2])\n",
        "    d_optimizer = torch.optim.Adam(D.parameters(), d_lr, [beta1, beta2])\n",
        "\n",
        "    # 誤差関数を定義\n",
        "    criterion = nn.BCEWithLogitsLoss(reduction='mean')\n",
        "\n",
        "    # パラメータをハードコーディング\n",
        "    z_dim = 20\n",
        "    mini_batch_size = 64\n",
        "\n",
        "    # ネットワークをGPUへ\n",
        "    G.to(device)\n",
        "    D.to(device)\n",
        "\n",
        "    G.train()  # モデルを訓練モードに\n",
        "    D.train()  # モデルを訓練モードに\n",
        "\n",
        "    # ネットワークがある程度固定であれば、高速化させる\n",
        "    torch.backends.cudnn.benchmark = True\n",
        "\n",
        "    # 画像の枚数\n",
        "    num_train_imgs = len(dataloader.dataset)\n",
        "    batch_size = dataloader.batch_size\n",
        "\n",
        "    # イテレーションカウンタをセット\n",
        "    iteration = 1\n",
        "    logs = []\n",
        "\n",
        "    # epochのループ\n",
        "    for epoch in range(num_epochs):\n",
        "\n",
        "        # 開始時刻を保存\n",
        "        t_epoch_start = time.time()\n",
        "        epoch_g_loss = 0.0  # epochの損失和\n",
        "        epoch_d_loss = 0.0  # epochの損失和\n",
        "\n",
        "        print('-------------')\n",
        "        print('Epoch {}/{}'.format(epoch, num_epochs))\n",
        "        print('-------------')\n",
        "        print('（train）')\n",
        "\n",
        "        # データローダーからminibatchずつ取り出すループ\n",
        "        for imges in dataloader:\n",
        "\n",
        "            # --------------------\n",
        "            # 1. Discriminatorの学習\n",
        "            # --------------------\n",
        "            # ミニバッチがサイズが1だと、バッチノーマライゼーションでエラーになるのでさける\n",
        "            if imges.size()[0] == 1:\n",
        "                continue\n",
        "\n",
        "            # GPUが使えるならGPUにデータを送る\n",
        "            imges = imges.to(device)\n",
        "\n",
        "            # 正解ラベルと偽ラベルを作成\n",
        "            # epochの最後のイテレーションはミニバッチの数が少なくなる\n",
        "            mini_batch_size = imges.size()[0]\n",
        "            label_real = torch.full((mini_batch_size,), 1).to(device)\n",
        "            label_fake = torch.full((mini_batch_size,), 0).to(device)\n",
        "\n",
        "            # 真の画像を判定\n",
        "            d_out_real, _ = D(imges)\n",
        "\n",
        "            # 偽の画像を生成して判定\n",
        "            input_z = torch.randn(mini_batch_size, z_dim).to(device)\n",
        "            input_z = input_z.view(input_z.size(0), input_z.size(1), 1, 1)\n",
        "            fake_images = G(input_z)\n",
        "            d_out_fake, _ = D(fake_images)\n",
        "\n",
        "            # 誤差を計算\n",
        "            d_loss_real = criterion(d_out_real.view(-1), label_real)\n",
        "            d_loss_fake = criterion(d_out_fake.view(-1), label_fake)\n",
        "            d_loss = d_loss_real + d_loss_fake\n",
        "\n",
        "            # バックプロパゲーション\n",
        "            g_optimizer.zero_grad()\n",
        "            d_optimizer.zero_grad()\n",
        "\n",
        "            d_loss.backward()\n",
        "            d_optimizer.step()\n",
        "\n",
        "            # --------------------\n",
        "            # 2. Generatorの学習\n",
        "            # --------------------\n",
        "            # 偽の画像を生成して判定\n",
        "            input_z = torch.randn(mini_batch_size, z_dim).to(device)\n",
        "            input_z = input_z.view(input_z.size(0), input_z.size(1), 1, 1)\n",
        "            fake_images = G(input_z)\n",
        "            d_out_fake, _ = D(fake_images)\n",
        "\n",
        "            # 誤差を計算\n",
        "            g_loss = criterion(d_out_fake.view(-1), label_real)\n",
        "\n",
        "            # バックプロパゲーション\n",
        "            g_optimizer.zero_grad()\n",
        "            d_optimizer.zero_grad()\n",
        "            g_loss.backward()\n",
        "            g_optimizer.step()\n",
        "\n",
        "            # --------------------\n",
        "            # 3. 記録\n",
        "            # --------------------\n",
        "            epoch_d_loss += d_loss.item()\n",
        "            epoch_g_loss += g_loss.item()\n",
        "            iteration += 1\n",
        "\n",
        "        # epochのphaseごとのlossと正解率\n",
        "        t_epoch_finish = time.time()\n",
        "        print('-------------')\n",
        "        print('epoch {} || Epoch_D_Loss:{:.4f} ||Epoch_G_Loss:{:.4f}'.format(\n",
        "            epoch, epoch_d_loss/batch_size, epoch_g_loss/batch_size))\n",
        "        print('timer:  {:.4f} sec.'.format(t_epoch_finish - t_epoch_start))\n",
        "        t_epoch_start = time.time()\n",
        "\n",
        "    \n",
        "    print(\"総イテレーション回数:\", iteration)\n",
        "\n",
        "    return G, D\n"
      ],
      "execution_count": null,
      "outputs": []
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "eA_fJqfqNTRq",
        "outputId": "fd9451a5-3361-401d-9ad3-65f4f3cf04fb"
      },
      "source": [
        "# 学習・検証を実行する\n",
        "# 8分ほどかかる\n",
        "num_epochs = 300\n",
        "G_update, D_update = train_model(\n",
        "    G, D, dataloader=train_dataloader, num_epochs=num_epochs)\n"
      ],
      "execution_count": null,
      "outputs": [
        {
          "output_type": "stream",
          "text": [
            "使用デバイス： cuda:0\n",
            "-------------\n",
            "Epoch 0/300\n",
            "-------------\n",
            "（train）\n",
            "-------------\n",
            "epoch 0 || Epoch_D_Loss:0.1017 ||Epoch_G_Loss:0.0948\n",
            "timer:  2.6078 sec.\n",
            "-------------\n",
            "Epoch 1/300\n",
            "-------------\n",
            "（train）\n",
            "-------------\n",
            "epoch 1 || Epoch_D_Loss:0.0271 ||Epoch_G_Loss:0.3289\n",
            "timer:  1.4679 sec.\n",
            "-------------\n",
            "Epoch 2/300\n",
            "-------------\n",
            "（train）\n",
            "-------------\n",
            "epoch 2 || Epoch_D_Loss:0.3201 ||Epoch_G_Loss:0.4007\n",
            "timer:  1.4805 sec.\n",
            "-------------\n",
            "Epoch 3/300\n",
            "-------------\n",
            "（train）\n",
            "-------------\n",
            "epoch 3 || Epoch_D_Loss:0.0133 ||Epoch_G_Loss:0.3029\n",
            "timer:  1.4821 sec.\n",
            "-------------\n",
            "Epoch 4/300\n",
            "-------------\n",
            "（train）\n",
            "-------------\n",
            "epoch 4 || Epoch_D_Loss:0.1410 ||Epoch_G_Loss:0.2963\n",
            "timer:  1.4789 sec.\n",
            "-------------\n",
            "Epoch 5/300\n",
            "-------------\n",
            "（train）\n",
            "-------------\n",
            "epoch 5 || Epoch_D_Loss:0.0069 ||Epoch_G_Loss:0.3694\n",
            "timer:  1.4859 sec.\n",
            "-------------\n",
            "Epoch 6/300\n",
            "-------------\n",
            "（train）\n",
            "-------------\n",
            "epoch 6 || Epoch_D_Loss:0.0035 ||Epoch_G_Loss:0.4510\n",
            "timer:  1.4872 sec.\n",
            "-------------\n",
            "Epoch 7/300\n",
            "-------------\n",
            "（train）\n",
            "-------------\n",
            "epoch 7 || Epoch_D_Loss:0.0031 ||Epoch_G_Loss:0.4544\n",
            "timer:  1.4857 sec.\n",
            "-------------\n",
            "Epoch 8/300\n",
            "-------------\n",
            "（train）\n",
            "-------------\n",
            "epoch 8 || Epoch_D_Loss:0.2388 ||Epoch_G_Loss:0.3936\n",
            "timer:  1.4892 sec.\n",
            "-------------\n",
            "Epoch 9/300\n",
            "-------------\n",
            "（train）\n",
            "-------------\n",
            "epoch 9 || Epoch_D_Loss:0.0092 ||Epoch_G_Loss:0.3369\n",
            "timer:  1.4921 sec.\n",
            "-------------\n",
            "Epoch 10/300\n",
            "-------------\n",
            "（train）\n",
            "-------------\n",
            "epoch 10 || Epoch_D_Loss:0.0066 ||Epoch_G_Loss:0.4121\n",
            "timer:  1.4904 sec.\n",
            "-------------\n",
            "Epoch 11/300\n",
            "-------------\n",
            "（train）\n",
            "-------------\n",
            "epoch 11 || Epoch_D_Loss:0.1461 ||Epoch_G_Loss:0.3526\n",
            "timer:  1.4919 sec.\n",
            "-------------\n",
            "Epoch 12/300\n",
            "-------------\n",
            "（train）\n",
            "-------------\n",
            "epoch 12 || Epoch_D_Loss:0.0121 ||Epoch_G_Loss:0.3339\n",
            "timer:  1.4993 sec.\n",
            "-------------\n",
            "Epoch 13/300\n",
            "-------------\n",
            "（train）\n",
            "-------------\n",
            "epoch 13 || Epoch_D_Loss:0.1760 ||Epoch_G_Loss:0.3630\n",
            "timer:  1.4978 sec.\n",
            "-------------\n",
            "Epoch 14/300\n",
            "-------------\n",
            "（train）\n",
            "-------------\n",
            "epoch 14 || Epoch_D_Loss:0.0094 ||Epoch_G_Loss:0.3882\n",
            "timer:  1.5037 sec.\n",
            "-------------\n",
            "Epoch 15/300\n",
            "-------------\n",
            "（train）\n",
            "-------------\n",
            "epoch 15 || Epoch_D_Loss:0.1611 ||Epoch_G_Loss:0.5003\n",
            "timer:  1.5044 sec.\n",
            "-------------\n",
            "Epoch 16/300\n",
            "-------------\n",
            "（train）\n",
            "-------------\n",
            "epoch 16 || Epoch_D_Loss:0.0478 ||Epoch_G_Loss:0.2933\n",
            "timer:  1.5037 sec.\n",
            "-------------\n",
            "Epoch 17/300\n",
            "-------------\n",
            "（train）\n",
            "-------------\n",
            "epoch 17 || Epoch_D_Loss:0.0093 ||Epoch_G_Loss:0.3612\n",
            "timer:  1.5022 sec.\n",
            "-------------\n",
            "Epoch 18/300\n",
            "-------------\n",
            "（train）\n",
            "-------------\n",
            "epoch 18 || Epoch_D_Loss:0.1153 ||Epoch_G_Loss:0.4040\n",
            "timer:  1.5073 sec.\n",
            "-------------\n",
            "Epoch 19/300\n",
            "-------------\n",
            "（train）\n",
            "-------------\n",
            "epoch 19 || Epoch_D_Loss:0.0205 ||Epoch_G_Loss:0.2757\n",
            "timer:  1.5050 sec.\n",
            "-------------\n",
            "Epoch 20/300\n",
            "-------------\n",
            "（train）\n",
            "-------------\n",
            "epoch 20 || Epoch_D_Loss:0.0471 ||Epoch_G_Loss:0.3580\n",
            "timer:  1.5085 sec.\n",
            "-------------\n",
            "Epoch 21/300\n",
            "-------------\n",
            "（train）\n",
            "-------------\n",
            "epoch 21 || Epoch_D_Loss:0.0137 ||Epoch_G_Loss:0.3735\n",
            "timer:  1.5002 sec.\n",
            "-------------\n",
            "Epoch 22/300\n",
            "-------------\n",
            "（train）\n",
            "-------------\n",
            "epoch 22 || Epoch_D_Loss:0.1121 ||Epoch_G_Loss:0.3807\n",
            "timer:  1.4974 sec.\n",
            "-------------\n",
            "Epoch 23/300\n",
            "-------------\n",
            "（train）\n",
            "-------------\n",
            "epoch 23 || Epoch_D_Loss:0.1072 ||Epoch_G_Loss:0.2549\n",
            "timer:  1.5011 sec.\n",
            "-------------\n",
            "Epoch 24/300\n",
            "-------------\n",
            "（train）\n",
            "-------------\n",
            "epoch 24 || Epoch_D_Loss:0.1067 ||Epoch_G_Loss:0.3026\n",
            "timer:  1.4957 sec.\n",
            "-------------\n",
            "Epoch 25/300\n",
            "-------------\n",
            "（train）\n",
            "-------------\n",
            "epoch 25 || Epoch_D_Loss:0.0381 ||Epoch_G_Loss:0.2499\n",
            "timer:  1.5039 sec.\n",
            "-------------\n",
            "Epoch 26/300\n",
            "-------------\n",
            "（train）\n",
            "-------------\n",
            "epoch 26 || Epoch_D_Loss:0.0775 ||Epoch_G_Loss:0.3192\n",
            "timer:  1.5025 sec.\n",
            "-------------\n",
            "Epoch 27/300\n",
            "-------------\n",
            "（train）\n",
            "-------------\n",
            "epoch 27 || Epoch_D_Loss:0.0937 ||Epoch_G_Loss:0.3288\n",
            "timer:  1.5063 sec.\n",
            "-------------\n",
            "Epoch 28/300\n",
            "-------------\n",
            "（train）\n",
            "-------------\n",
            "epoch 28 || Epoch_D_Loss:0.1067 ||Epoch_G_Loss:0.2338\n",
            "timer:  1.5057 sec.\n",
            "-------------\n",
            "Epoch 29/300\n",
            "-------------\n",
            "（train）\n",
            "-------------\n",
            "epoch 29 || Epoch_D_Loss:0.1092 ||Epoch_G_Loss:0.2204\n",
            "timer:  1.5047 sec.\n",
            "-------------\n",
            "Epoch 30/300\n",
            "-------------\n",
            "（train）\n",
            "-------------\n",
            "epoch 30 || Epoch_D_Loss:0.0938 ||Epoch_G_Loss:0.2173\n",
            "timer:  1.5053 sec.\n",
            "-------------\n",
            "Epoch 31/300\n",
            "-------------\n",
            "（train）\n",
            "-------------\n",
            "epoch 31 || Epoch_D_Loss:0.0407 ||Epoch_G_Loss:0.3005\n",
            "timer:  1.5015 sec.\n",
            "-------------\n",
            "Epoch 32/300\n",
            "-------------\n",
            "（train）\n",
            "-------------\n",
            "epoch 32 || Epoch_D_Loss:0.1652 ||Epoch_G_Loss:0.2449\n",
            "timer:  1.5027 sec.\n",
            "-------------\n",
            "Epoch 33/300\n",
            "-------------\n",
            "（train）\n",
            "-------------\n",
            "epoch 33 || Epoch_D_Loss:0.1126 ||Epoch_G_Loss:0.2247\n",
            "timer:  1.4986 sec.\n",
            "-------------\n",
            "Epoch 34/300\n",
            "-------------\n",
            "（train）\n",
            "-------------\n",
            "epoch 34 || Epoch_D_Loss:0.0627 ||Epoch_G_Loss:0.2978\n",
            "timer:  1.5007 sec.\n",
            "-------------\n",
            "Epoch 35/300\n",
            "-------------\n",
            "（train）\n",
            "-------------\n",
            "epoch 35 || Epoch_D_Loss:0.0745 ||Epoch_G_Loss:0.3583\n",
            "timer:  1.5021 sec.\n",
            "-------------\n",
            "Epoch 36/300\n",
            "-------------\n",
            "（train）\n",
            "-------------\n",
            "epoch 36 || Epoch_D_Loss:0.1796 ||Epoch_G_Loss:0.1885\n",
            "timer:  1.5049 sec.\n",
            "-------------\n",
            "Epoch 37/300\n",
            "-------------\n",
            "（train）\n",
            "-------------\n",
            "epoch 37 || Epoch_D_Loss:0.1011 ||Epoch_G_Loss:0.1649\n",
            "timer:  1.5053 sec.\n",
            "-------------\n",
            "Epoch 38/300\n",
            "-------------\n",
            "（train）\n",
            "-------------\n",
            "epoch 38 || Epoch_D_Loss:0.1048 ||Epoch_G_Loss:0.1730\n",
            "timer:  1.5067 sec.\n",
            "-------------\n",
            "Epoch 39/300\n",
            "-------------\n",
            "（train）\n",
            "-------------\n",
            "epoch 39 || Epoch_D_Loss:0.0871 ||Epoch_G_Loss:0.2379\n",
            "timer:  1.5030 sec.\n",
            "-------------\n",
            "Epoch 40/300\n",
            "-------------\n",
            "（train）\n",
            "-------------\n",
            "epoch 40 || Epoch_D_Loss:0.0912 ||Epoch_G_Loss:0.2183\n",
            "timer:  1.5044 sec.\n",
            "-------------\n",
            "Epoch 41/300\n",
            "-------------\n",
            "（train）\n",
            "-------------\n",
            "epoch 41 || Epoch_D_Loss:0.1505 ||Epoch_G_Loss:0.1528\n",
            "timer:  1.5089 sec.\n",
            "-------------\n",
            "Epoch 42/300\n",
            "-------------\n",
            "（train）\n",
            "-------------\n",
            "epoch 42 || Epoch_D_Loss:0.0889 ||Epoch_G_Loss:0.1701\n",
            "timer:  1.5080 sec.\n",
            "-------------\n",
            "Epoch 43/300\n",
            "-------------\n",
            "（train）\n",
            "-------------\n",
            "epoch 43 || Epoch_D_Loss:0.0911 ||Epoch_G_Loss:0.2176\n",
            "timer:  1.5068 sec.\n",
            "-------------\n",
            "Epoch 44/300\n",
            "-------------\n",
            "（train）\n",
            "-------------\n",
            "epoch 44 || Epoch_D_Loss:0.1135 ||Epoch_G_Loss:0.1982\n",
            "timer:  1.5078 sec.\n",
            "-------------\n",
            "Epoch 45/300\n",
            "-------------\n",
            "（train）\n",
            "-------------\n",
            "epoch 45 || Epoch_D_Loss:0.0863 ||Epoch_G_Loss:0.2196\n",
            "timer:  1.5055 sec.\n",
            "-------------\n",
            "Epoch 46/300\n",
            "-------------\n",
            "（train）\n",
            "-------------\n",
            "epoch 46 || Epoch_D_Loss:0.1337 ||Epoch_G_Loss:0.1646\n",
            "timer:  1.5097 sec.\n",
            "-------------\n",
            "Epoch 47/300\n",
            "-------------\n",
            "（train）\n",
            "-------------\n",
            "epoch 47 || Epoch_D_Loss:0.0942 ||Epoch_G_Loss:0.1730\n",
            "timer:  1.5095 sec.\n",
            "-------------\n",
            "Epoch 48/300\n",
            "-------------\n",
            "（train）\n",
            "-------------\n",
            "epoch 48 || Epoch_D_Loss:0.1230 ||Epoch_G_Loss:0.1750\n",
            "timer:  1.5114 sec.\n",
            "-------------\n",
            "Epoch 49/300\n",
            "-------------\n",
            "（train）\n",
            "-------------\n",
            "epoch 49 || Epoch_D_Loss:0.0921 ||Epoch_G_Loss:0.2101\n",
            "timer:  1.5117 sec.\n",
            "-------------\n",
            "Epoch 50/300\n",
            "-------------\n",
            "（train）\n",
            "-------------\n",
            "epoch 50 || Epoch_D_Loss:0.0995 ||Epoch_G_Loss:0.1642\n",
            "timer:  1.5099 sec.\n",
            "-------------\n",
            "Epoch 51/300\n",
            "-------------\n",
            "（train）\n",
            "-------------\n",
            "epoch 51 || Epoch_D_Loss:0.0964 ||Epoch_G_Loss:0.2131\n",
            "timer:  1.5121 sec.\n",
            "-------------\n",
            "Epoch 52/300\n",
            "-------------\n",
            "（train）\n",
            "-------------\n",
            "epoch 52 || Epoch_D_Loss:0.1405 ||Epoch_G_Loss:0.1233\n",
            "timer:  1.5161 sec.\n",
            "-------------\n",
            "Epoch 53/300\n",
            "-------------\n",
            "（train）\n",
            "-------------\n",
            "epoch 53 || Epoch_D_Loss:0.1060 ||Epoch_G_Loss:0.1621\n",
            "timer:  1.5263 sec.\n",
            "-------------\n",
            "Epoch 54/300\n",
            "-------------\n",
            "（train）\n",
            "-------------\n",
            "epoch 54 || Epoch_D_Loss:0.1129 ||Epoch_G_Loss:0.1723\n",
            "timer:  1.5245 sec.\n",
            "-------------\n",
            "Epoch 55/300\n",
            "-------------\n",
            "（train）\n",
            "-------------\n",
            "epoch 55 || Epoch_D_Loss:0.1109 ||Epoch_G_Loss:0.1425\n",
            "timer:  1.5224 sec.\n",
            "-------------\n",
            "Epoch 56/300\n",
            "-------------\n",
            "（train）\n",
            "-------------\n",
            "epoch 56 || Epoch_D_Loss:0.1205 ||Epoch_G_Loss:0.1615\n",
            "timer:  1.5130 sec.\n",
            "-------------\n",
            "Epoch 57/300\n",
            "-------------\n",
            "（train）\n",
            "-------------\n",
            "epoch 57 || Epoch_D_Loss:0.1031 ||Epoch_G_Loss:0.1330\n",
            "timer:  1.5134 sec.\n",
            "-------------\n",
            "Epoch 58/300\n",
            "-------------\n",
            "（train）\n",
            "-------------\n",
            "epoch 58 || Epoch_D_Loss:0.1201 ||Epoch_G_Loss:0.1588\n",
            "timer:  1.5132 sec.\n",
            "-------------\n",
            "Epoch 59/300\n",
            "-------------\n",
            "（train）\n",
            "-------------\n",
            "epoch 59 || Epoch_D_Loss:0.1088 ||Epoch_G_Loss:0.1446\n",
            "timer:  1.5139 sec.\n",
            "-------------\n",
            "Epoch 60/300\n",
            "-------------\n",
            "（train）\n"
          ],
          "name": "stdout"
        },
        {
          "output_type": "stream",
          "text": [
            "-------------\n",
            "epoch 60 || Epoch_D_Loss:0.1030 ||Epoch_G_Loss:0.1647\n",
            "timer:  1.5118 sec.\n",
            "-------------\n",
            "Epoch 61/300\n",
            "-------------\n",
            "（train）\n",
            "-------------\n",
            "epoch 61 || Epoch_D_Loss:0.1047 ||Epoch_G_Loss:0.1526\n",
            "timer:  1.5140 sec.\n",
            "-------------\n",
            "Epoch 62/300\n",
            "-------------\n",
            "（train）\n",
            "-------------\n",
            "epoch 62 || Epoch_D_Loss:0.0920 ||Epoch_G_Loss:0.1743\n",
            "timer:  1.5143 sec.\n",
            "-------------\n",
            "Epoch 63/300\n",
            "-------------\n",
            "（train）\n",
            "-------------\n",
            "epoch 63 || Epoch_D_Loss:0.1040 ||Epoch_G_Loss:0.1803\n",
            "timer:  1.5177 sec.\n",
            "-------------\n",
            "Epoch 64/300\n",
            "-------------\n",
            "（train）\n",
            "-------------\n",
            "epoch 64 || Epoch_D_Loss:0.1024 ||Epoch_G_Loss:0.1556\n",
            "timer:  1.5095 sec.\n",
            "-------------\n",
            "Epoch 65/300\n",
            "-------------\n",
            "（train）\n",
            "-------------\n",
            "epoch 65 || Epoch_D_Loss:0.1009 ||Epoch_G_Loss:0.1750\n",
            "timer:  1.5154 sec.\n",
            "-------------\n",
            "Epoch 66/300\n",
            "-------------\n",
            "（train）\n",
            "-------------\n",
            "epoch 66 || Epoch_D_Loss:0.1052 ||Epoch_G_Loss:0.1671\n",
            "timer:  1.5151 sec.\n",
            "-------------\n",
            "Epoch 67/300\n",
            "-------------\n",
            "（train）\n",
            "-------------\n",
            "epoch 67 || Epoch_D_Loss:0.0809 ||Epoch_G_Loss:0.1787\n",
            "timer:  1.5215 sec.\n",
            "-------------\n",
            "Epoch 68/300\n",
            "-------------\n",
            "（train）\n",
            "-------------\n",
            "epoch 68 || Epoch_D_Loss:0.1133 ||Epoch_G_Loss:0.1736\n",
            "timer:  1.5300 sec.\n",
            "-------------\n",
            "Epoch 69/300\n",
            "-------------\n",
            "（train）\n",
            "-------------\n",
            "epoch 69 || Epoch_D_Loss:0.0882 ||Epoch_G_Loss:0.1651\n",
            "timer:  1.5318 sec.\n",
            "-------------\n",
            "Epoch 70/300\n",
            "-------------\n",
            "（train）\n",
            "-------------\n",
            "epoch 70 || Epoch_D_Loss:0.0965 ||Epoch_G_Loss:0.1895\n",
            "timer:  1.5275 sec.\n",
            "-------------\n",
            "Epoch 71/300\n",
            "-------------\n",
            "（train）\n",
            "-------------\n",
            "epoch 71 || Epoch_D_Loss:0.1108 ||Epoch_G_Loss:0.1801\n",
            "timer:  1.5211 sec.\n",
            "-------------\n",
            "Epoch 72/300\n",
            "-------------\n",
            "（train）\n",
            "-------------\n",
            "epoch 72 || Epoch_D_Loss:0.0885 ||Epoch_G_Loss:0.1535\n",
            "timer:  1.5224 sec.\n",
            "-------------\n",
            "Epoch 73/300\n",
            "-------------\n",
            "（train）\n",
            "-------------\n",
            "epoch 73 || Epoch_D_Loss:0.1103 ||Epoch_G_Loss:0.1927\n",
            "timer:  1.5164 sec.\n",
            "-------------\n",
            "Epoch 74/300\n",
            "-------------\n",
            "（train）\n",
            "-------------\n",
            "epoch 74 || Epoch_D_Loss:0.0693 ||Epoch_G_Loss:0.2034\n",
            "timer:  1.5234 sec.\n",
            "-------------\n",
            "Epoch 75/300\n",
            "-------------\n",
            "（train）\n",
            "-------------\n",
            "epoch 75 || Epoch_D_Loss:0.0877 ||Epoch_G_Loss:0.1867\n",
            "timer:  1.5204 sec.\n",
            "-------------\n",
            "Epoch 76/300\n",
            "-------------\n",
            "（train）\n",
            "-------------\n",
            "epoch 76 || Epoch_D_Loss:0.0882 ||Epoch_G_Loss:0.2076\n",
            "timer:  1.5178 sec.\n",
            "-------------\n",
            "Epoch 77/300\n",
            "-------------\n",
            "（train）\n",
            "-------------\n",
            "epoch 77 || Epoch_D_Loss:0.0721 ||Epoch_G_Loss:0.1914\n",
            "timer:  1.5237 sec.\n",
            "-------------\n",
            "Epoch 78/300\n",
            "-------------\n",
            "（train）\n",
            "-------------\n",
            "epoch 78 || Epoch_D_Loss:0.0924 ||Epoch_G_Loss:0.1999\n",
            "timer:  1.5295 sec.\n",
            "-------------\n",
            "Epoch 79/300\n",
            "-------------\n",
            "（train）\n",
            "-------------\n",
            "epoch 79 || Epoch_D_Loss:0.0820 ||Epoch_G_Loss:0.1950\n",
            "timer:  1.5340 sec.\n",
            "-------------\n",
            "Epoch 80/300\n",
            "-------------\n",
            "（train）\n",
            "-------------\n",
            "epoch 80 || Epoch_D_Loss:0.0931 ||Epoch_G_Loss:0.1993\n",
            "timer:  1.5273 sec.\n",
            "-------------\n",
            "Epoch 81/300\n",
            "-------------\n",
            "（train）\n",
            "-------------\n",
            "epoch 81 || Epoch_D_Loss:0.0822 ||Epoch_G_Loss:0.2120\n",
            "timer:  1.5338 sec.\n",
            "-------------\n",
            "Epoch 82/300\n",
            "-------------\n",
            "（train）\n",
            "-------------\n",
            "epoch 82 || Epoch_D_Loss:0.0794 ||Epoch_G_Loss:0.1918\n",
            "timer:  1.5295 sec.\n",
            "-------------\n",
            "Epoch 83/300\n",
            "-------------\n",
            "（train）\n",
            "-------------\n",
            "epoch 83 || Epoch_D_Loss:0.0909 ||Epoch_G_Loss:0.1977\n",
            "timer:  1.5194 sec.\n",
            "-------------\n",
            "Epoch 84/300\n",
            "-------------\n",
            "（train）\n",
            "-------------\n",
            "epoch 84 || Epoch_D_Loss:0.0801 ||Epoch_G_Loss:0.2247\n",
            "timer:  1.5255 sec.\n",
            "-------------\n",
            "Epoch 85/300\n",
            "-------------\n",
            "（train）\n",
            "-------------\n",
            "epoch 85 || Epoch_D_Loss:0.0768 ||Epoch_G_Loss:0.1943\n",
            "timer:  1.5257 sec.\n",
            "-------------\n",
            "Epoch 86/300\n",
            "-------------\n",
            "（train）\n",
            "-------------\n",
            "epoch 86 || Epoch_D_Loss:0.0906 ||Epoch_G_Loss:0.2014\n",
            "timer:  1.5278 sec.\n",
            "-------------\n",
            "Epoch 87/300\n",
            "-------------\n",
            "（train）\n",
            "-------------\n",
            "epoch 87 || Epoch_D_Loss:0.0796 ||Epoch_G_Loss:0.2170\n",
            "timer:  1.5300 sec.\n",
            "-------------\n",
            "Epoch 88/300\n",
            "-------------\n",
            "（train）\n",
            "-------------\n",
            "epoch 88 || Epoch_D_Loss:0.0710 ||Epoch_G_Loss:0.2445\n",
            "timer:  1.5384 sec.\n",
            "-------------\n",
            "Epoch 89/300\n",
            "-------------\n",
            "（train）\n",
            "-------------\n",
            "epoch 89 || Epoch_D_Loss:0.0905 ||Epoch_G_Loss:0.1771\n",
            "timer:  1.5373 sec.\n",
            "-------------\n",
            "Epoch 90/300\n",
            "-------------\n",
            "（train）\n",
            "-------------\n",
            "epoch 90 || Epoch_D_Loss:0.0848 ||Epoch_G_Loss:0.2218\n",
            "timer:  1.5277 sec.\n",
            "-------------\n",
            "Epoch 91/300\n",
            "-------------\n",
            "（train）\n",
            "-------------\n",
            "epoch 91 || Epoch_D_Loss:0.0779 ||Epoch_G_Loss:0.1829\n",
            "timer:  1.5273 sec.\n",
            "-------------\n",
            "Epoch 92/300\n",
            "-------------\n",
            "（train）\n",
            "-------------\n",
            "epoch 92 || Epoch_D_Loss:0.1017 ||Epoch_G_Loss:0.2149\n",
            "timer:  1.5269 sec.\n",
            "-------------\n",
            "Epoch 93/300\n",
            "-------------\n",
            "（train）\n",
            "-------------\n",
            "epoch 93 || Epoch_D_Loss:0.0699 ||Epoch_G_Loss:0.2283\n",
            "timer:  1.5275 sec.\n",
            "-------------\n",
            "Epoch 94/300\n",
            "-------------\n",
            "（train）\n",
            "-------------\n",
            "epoch 94 || Epoch_D_Loss:0.0845 ||Epoch_G_Loss:0.2059\n",
            "timer:  1.5250 sec.\n",
            "-------------\n",
            "Epoch 95/300\n",
            "-------------\n",
            "（train）\n",
            "-------------\n",
            "epoch 95 || Epoch_D_Loss:0.0880 ||Epoch_G_Loss:0.2206\n",
            "timer:  1.5285 sec.\n",
            "-------------\n",
            "Epoch 96/300\n",
            "-------------\n",
            "（train）\n",
            "-------------\n",
            "epoch 96 || Epoch_D_Loss:0.0753 ||Epoch_G_Loss:0.2163\n",
            "timer:  1.5284 sec.\n",
            "-------------\n",
            "Epoch 97/300\n",
            "-------------\n",
            "（train）\n",
            "-------------\n",
            "epoch 97 || Epoch_D_Loss:0.0823 ||Epoch_G_Loss:0.2274\n",
            "timer:  1.5368 sec.\n",
            "-------------\n",
            "Epoch 98/300\n",
            "-------------\n",
            "（train）\n",
            "-------------\n",
            "epoch 98 || Epoch_D_Loss:0.0711 ||Epoch_G_Loss:0.2032\n",
            "timer:  1.5457 sec.\n",
            "-------------\n",
            "Epoch 99/300\n",
            "-------------\n",
            "（train）\n",
            "-------------\n",
            "epoch 99 || Epoch_D_Loss:0.0912 ||Epoch_G_Loss:0.2267\n",
            "timer:  1.5348 sec.\n",
            "-------------\n",
            "Epoch 100/300\n",
            "-------------\n",
            "（train）\n",
            "-------------\n",
            "epoch 100 || Epoch_D_Loss:0.0660 ||Epoch_G_Loss:0.2431\n",
            "timer:  1.5329 sec.\n",
            "-------------\n",
            "Epoch 101/300\n",
            "-------------\n",
            "（train）\n",
            "-------------\n",
            "epoch 101 || Epoch_D_Loss:0.0844 ||Epoch_G_Loss:0.2253\n",
            "timer:  1.5306 sec.\n",
            "-------------\n",
            "Epoch 102/300\n",
            "-------------\n",
            "（train）\n",
            "-------------\n",
            "epoch 102 || Epoch_D_Loss:0.0867 ||Epoch_G_Loss:0.1906\n",
            "timer:  1.5322 sec.\n",
            "-------------\n",
            "Epoch 103/300\n",
            "-------------\n",
            "（train）\n",
            "-------------\n",
            "epoch 103 || Epoch_D_Loss:0.0796 ||Epoch_G_Loss:0.2334\n",
            "timer:  1.5375 sec.\n",
            "-------------\n",
            "Epoch 104/300\n",
            "-------------\n",
            "（train）\n",
            "-------------\n",
            "epoch 104 || Epoch_D_Loss:0.0774 ||Epoch_G_Loss:0.2248\n",
            "timer:  1.5472 sec.\n",
            "-------------\n",
            "Epoch 105/300\n",
            "-------------\n",
            "（train）\n",
            "-------------\n",
            "epoch 105 || Epoch_D_Loss:0.0751 ||Epoch_G_Loss:0.2354\n",
            "timer:  1.5388 sec.\n",
            "-------------\n",
            "Epoch 106/300\n",
            "-------------\n",
            "（train）\n",
            "-------------\n",
            "epoch 106 || Epoch_D_Loss:0.0758 ||Epoch_G_Loss:0.2135\n",
            "timer:  1.5406 sec.\n",
            "-------------\n",
            "Epoch 107/300\n",
            "-------------\n",
            "（train）\n",
            "-------------\n",
            "epoch 107 || Epoch_D_Loss:0.0787 ||Epoch_G_Loss:0.2540\n",
            "timer:  1.5320 sec.\n",
            "-------------\n",
            "Epoch 108/300\n",
            "-------------\n",
            "（train）\n",
            "-------------\n",
            "epoch 108 || Epoch_D_Loss:0.0768 ||Epoch_G_Loss:0.2236\n",
            "timer:  1.5354 sec.\n",
            "-------------\n",
            "Epoch 109/300\n",
            "-------------\n",
            "（train）\n",
            "-------------\n",
            "epoch 109 || Epoch_D_Loss:0.0703 ||Epoch_G_Loss:0.2506\n",
            "timer:  1.5365 sec.\n",
            "-------------\n",
            "Epoch 110/300\n",
            "-------------\n",
            "（train）\n",
            "-------------\n",
            "epoch 110 || Epoch_D_Loss:0.0716 ||Epoch_G_Loss:0.2258\n",
            "timer:  1.5484 sec.\n",
            "-------------\n",
            "Epoch 111/300\n",
            "-------------\n",
            "（train）\n",
            "-------------\n",
            "epoch 111 || Epoch_D_Loss:0.0767 ||Epoch_G_Loss:0.2489\n",
            "timer:  1.5457 sec.\n",
            "-------------\n",
            "Epoch 112/300\n",
            "-------------\n",
            "（train）\n",
            "-------------\n",
            "epoch 112 || Epoch_D_Loss:0.0654 ||Epoch_G_Loss:0.2229\n",
            "timer:  1.5341 sec.\n",
            "-------------\n",
            "Epoch 113/300\n",
            "-------------\n",
            "（train）\n",
            "-------------\n",
            "epoch 113 || Epoch_D_Loss:0.0747 ||Epoch_G_Loss:0.2563\n",
            "timer:  1.5361 sec.\n",
            "-------------\n",
            "Epoch 114/300\n",
            "-------------\n",
            "（train）\n",
            "-------------\n",
            "epoch 114 || Epoch_D_Loss:0.0729 ||Epoch_G_Loss:0.2589\n",
            "timer:  1.5360 sec.\n",
            "-------------\n",
            "Epoch 115/300\n",
            "-------------\n",
            "（train）\n",
            "-------------\n",
            "epoch 115 || Epoch_D_Loss:0.0681 ||Epoch_G_Loss:0.2365\n",
            "timer:  1.5349 sec.\n",
            "-------------\n",
            "Epoch 116/300\n",
            "-------------\n",
            "（train）\n",
            "-------------\n",
            "epoch 116 || Epoch_D_Loss:0.0719 ||Epoch_G_Loss:0.2621\n",
            "timer:  1.5394 sec.\n",
            "-------------\n",
            "Epoch 117/300\n",
            "-------------\n",
            "（train）\n",
            "-------------\n",
            "epoch 117 || Epoch_D_Loss:0.0669 ||Epoch_G_Loss:0.2395\n",
            "timer:  1.5384 sec.\n",
            "-------------\n",
            "Epoch 118/300\n",
            "-------------\n",
            "（train）\n",
            "-------------\n",
            "epoch 118 || Epoch_D_Loss:0.0637 ||Epoch_G_Loss:0.2827\n",
            "timer:  1.5433 sec.\n",
            "-------------\n",
            "Epoch 119/300\n",
            "-------------\n",
            "（train）\n",
            "-------------\n",
            "epoch 119 || Epoch_D_Loss:0.0656 ||Epoch_G_Loss:0.2441\n",
            "timer:  1.5392 sec.\n",
            "-------------\n",
            "Epoch 120/300\n",
            "-------------\n",
            "（train）\n"
          ],
          "name": "stdout"
        },
        {
          "output_type": "stream",
          "text": [
            "-------------\n",
            "epoch 120 || Epoch_D_Loss:0.0684 ||Epoch_G_Loss:0.2609\n",
            "timer:  1.5372 sec.\n",
            "-------------\n",
            "Epoch 121/300\n",
            "-------------\n",
            "（train）\n",
            "-------------\n",
            "epoch 121 || Epoch_D_Loss:0.0614 ||Epoch_G_Loss:0.3060\n",
            "timer:  1.5354 sec.\n",
            "-------------\n",
            "Epoch 122/300\n",
            "-------------\n",
            "（train）\n",
            "-------------\n",
            "epoch 122 || Epoch_D_Loss:0.0616 ||Epoch_G_Loss:0.2345\n",
            "timer:  1.5333 sec.\n",
            "-------------\n",
            "Epoch 123/300\n",
            "-------------\n",
            "（train）\n",
            "-------------\n",
            "epoch 123 || Epoch_D_Loss:0.0706 ||Epoch_G_Loss:0.2887\n",
            "timer:  1.5560 sec.\n",
            "-------------\n",
            "Epoch 124/300\n",
            "-------------\n",
            "（train）\n",
            "-------------\n",
            "epoch 124 || Epoch_D_Loss:0.0667 ||Epoch_G_Loss:0.2596\n",
            "timer:  1.5507 sec.\n",
            "-------------\n",
            "Epoch 125/300\n",
            "-------------\n",
            "（train）\n",
            "-------------\n",
            "epoch 125 || Epoch_D_Loss:0.0754 ||Epoch_G_Loss:0.2494\n",
            "timer:  1.5389 sec.\n",
            "-------------\n",
            "Epoch 126/300\n",
            "-------------\n",
            "（train）\n",
            "-------------\n",
            "epoch 126 || Epoch_D_Loss:0.0773 ||Epoch_G_Loss:0.2713\n",
            "timer:  1.5364 sec.\n",
            "-------------\n",
            "Epoch 127/300\n",
            "-------------\n",
            "（train）\n",
            "-------------\n",
            "epoch 127 || Epoch_D_Loss:0.0596 ||Epoch_G_Loss:0.2396\n",
            "timer:  1.5399 sec.\n",
            "-------------\n",
            "Epoch 128/300\n",
            "-------------\n",
            "（train）\n",
            "-------------\n",
            "epoch 128 || Epoch_D_Loss:0.0699 ||Epoch_G_Loss:0.2609\n",
            "timer:  1.5351 sec.\n",
            "-------------\n",
            "Epoch 129/300\n",
            "-------------\n",
            "（train）\n",
            "-------------\n",
            "epoch 129 || Epoch_D_Loss:0.0517 ||Epoch_G_Loss:0.3109\n",
            "timer:  1.5398 sec.\n",
            "-------------\n",
            "Epoch 130/300\n",
            "-------------\n",
            "（train）\n",
            "-------------\n",
            "epoch 130 || Epoch_D_Loss:0.0671 ||Epoch_G_Loss:0.2626\n",
            "timer:  1.5618 sec.\n",
            "-------------\n",
            "Epoch 131/300\n",
            "-------------\n",
            "（train）\n",
            "-------------\n",
            "epoch 131 || Epoch_D_Loss:0.0460 ||Epoch_G_Loss:0.3175\n",
            "timer:  1.5450 sec.\n",
            "-------------\n",
            "Epoch 132/300\n",
            "-------------\n",
            "（train）\n",
            "-------------\n",
            "epoch 132 || Epoch_D_Loss:0.0676 ||Epoch_G_Loss:0.2745\n",
            "timer:  1.5424 sec.\n",
            "-------------\n",
            "Epoch 133/300\n",
            "-------------\n",
            "（train）\n",
            "-------------\n",
            "epoch 133 || Epoch_D_Loss:0.0650 ||Epoch_G_Loss:0.2891\n",
            "timer:  1.5354 sec.\n",
            "-------------\n",
            "Epoch 134/300\n",
            "-------------\n",
            "（train）\n",
            "-------------\n",
            "epoch 134 || Epoch_D_Loss:0.0647 ||Epoch_G_Loss:0.2814\n",
            "timer:  1.5417 sec.\n",
            "-------------\n",
            "Epoch 135/300\n",
            "-------------\n",
            "（train）\n",
            "-------------\n",
            "epoch 135 || Epoch_D_Loss:0.0500 ||Epoch_G_Loss:0.3224\n",
            "timer:  1.5546 sec.\n",
            "-------------\n",
            "Epoch 136/300\n",
            "-------------\n",
            "（train）\n",
            "-------------\n",
            "epoch 136 || Epoch_D_Loss:0.0615 ||Epoch_G_Loss:0.3137\n",
            "timer:  1.5485 sec.\n",
            "-------------\n",
            "Epoch 137/300\n",
            "-------------\n",
            "（train）\n",
            "-------------\n",
            "epoch 137 || Epoch_D_Loss:0.0467 ||Epoch_G_Loss:0.3380\n",
            "timer:  1.5422 sec.\n",
            "-------------\n",
            "Epoch 138/300\n",
            "-------------\n",
            "（train）\n",
            "-------------\n",
            "epoch 138 || Epoch_D_Loss:0.0813 ||Epoch_G_Loss:0.2204\n",
            "timer:  1.5366 sec.\n",
            "-------------\n",
            "Epoch 139/300\n",
            "-------------\n",
            "（train）\n",
            "-------------\n",
            "epoch 139 || Epoch_D_Loss:0.0628 ||Epoch_G_Loss:0.2672\n",
            "timer:  1.5391 sec.\n",
            "-------------\n",
            "Epoch 140/300\n",
            "-------------\n",
            "（train）\n",
            "-------------\n",
            "epoch 140 || Epoch_D_Loss:0.0715 ||Epoch_G_Loss:0.2938\n",
            "timer:  1.5428 sec.\n",
            "-------------\n",
            "Epoch 141/300\n",
            "-------------\n",
            "（train）\n",
            "-------------\n",
            "epoch 141 || Epoch_D_Loss:0.0544 ||Epoch_G_Loss:0.3042\n",
            "timer:  1.5472 sec.\n",
            "-------------\n",
            "Epoch 142/300\n",
            "-------------\n",
            "（train）\n",
            "-------------\n",
            "epoch 142 || Epoch_D_Loss:0.0536 ||Epoch_G_Loss:0.3074\n",
            "timer:  1.5475 sec.\n",
            "-------------\n",
            "Epoch 143/300\n",
            "-------------\n",
            "（train）\n",
            "-------------\n",
            "epoch 143 || Epoch_D_Loss:0.0514 ||Epoch_G_Loss:0.3182\n",
            "timer:  1.5396 sec.\n",
            "-------------\n",
            "Epoch 144/300\n",
            "-------------\n",
            "（train）\n",
            "-------------\n",
            "epoch 144 || Epoch_D_Loss:0.0552 ||Epoch_G_Loss:0.3370\n",
            "timer:  1.5369 sec.\n",
            "-------------\n",
            "Epoch 145/300\n",
            "-------------\n",
            "（train）\n",
            "-------------\n",
            "epoch 145 || Epoch_D_Loss:0.0566 ||Epoch_G_Loss:0.2791\n",
            "timer:  1.5390 sec.\n",
            "-------------\n",
            "Epoch 146/300\n",
            "-------------\n",
            "（train）\n",
            "-------------\n",
            "epoch 146 || Epoch_D_Loss:0.0675 ||Epoch_G_Loss:0.2850\n",
            "timer:  1.5374 sec.\n",
            "-------------\n",
            "Epoch 147/300\n",
            "-------------\n",
            "（train）\n",
            "-------------\n",
            "epoch 147 || Epoch_D_Loss:0.0641 ||Epoch_G_Loss:0.2878\n",
            "timer:  1.5519 sec.\n",
            "-------------\n",
            "Epoch 148/300\n",
            "-------------\n",
            "（train）\n",
            "-------------\n",
            "epoch 148 || Epoch_D_Loss:0.0444 ||Epoch_G_Loss:0.3393\n",
            "timer:  1.5400 sec.\n",
            "-------------\n",
            "Epoch 149/300\n",
            "-------------\n",
            "（train）\n",
            "-------------\n",
            "epoch 149 || Epoch_D_Loss:0.0586 ||Epoch_G_Loss:0.3162\n",
            "timer:  1.5386 sec.\n",
            "-------------\n",
            "Epoch 150/300\n",
            "-------------\n",
            "（train）\n",
            "-------------\n",
            "epoch 150 || Epoch_D_Loss:0.0506 ||Epoch_G_Loss:0.3212\n",
            "timer:  1.5357 sec.\n",
            "-------------\n",
            "Epoch 151/300\n",
            "-------------\n",
            "（train）\n",
            "-------------\n",
            "epoch 151 || Epoch_D_Loss:0.0597 ||Epoch_G_Loss:0.2888\n",
            "timer:  1.5389 sec.\n",
            "-------------\n",
            "Epoch 152/300\n",
            "-------------\n",
            "（train）\n",
            "-------------\n",
            "epoch 152 || Epoch_D_Loss:0.0543 ||Epoch_G_Loss:0.3509\n",
            "timer:  1.5359 sec.\n",
            "-------------\n",
            "Epoch 153/300\n",
            "-------------\n",
            "（train）\n",
            "-------------\n",
            "epoch 153 || Epoch_D_Loss:0.0467 ||Epoch_G_Loss:0.3158\n",
            "timer:  1.5449 sec.\n",
            "-------------\n",
            "Epoch 154/300\n",
            "-------------\n",
            "（train）\n",
            "-------------\n",
            "epoch 154 || Epoch_D_Loss:0.0679 ||Epoch_G_Loss:0.3114\n",
            "timer:  1.5553 sec.\n",
            "-------------\n",
            "Epoch 155/300\n",
            "-------------\n",
            "（train）\n",
            "-------------\n",
            "epoch 155 || Epoch_D_Loss:0.0404 ||Epoch_G_Loss:0.3477\n",
            "timer:  1.5476 sec.\n",
            "-------------\n",
            "Epoch 156/300\n",
            "-------------\n",
            "（train）\n",
            "-------------\n",
            "epoch 156 || Epoch_D_Loss:0.0481 ||Epoch_G_Loss:0.3271\n",
            "timer:  1.5430 sec.\n",
            "-------------\n",
            "Epoch 157/300\n",
            "-------------\n",
            "（train）\n",
            "-------------\n",
            "epoch 157 || Epoch_D_Loss:0.0600 ||Epoch_G_Loss:0.3331\n",
            "timer:  1.5361 sec.\n",
            "-------------\n",
            "Epoch 158/300\n",
            "-------------\n",
            "（train）\n",
            "-------------\n",
            "epoch 158 || Epoch_D_Loss:0.0554 ||Epoch_G_Loss:0.3437\n",
            "timer:  1.5451 sec.\n",
            "-------------\n",
            "Epoch 159/300\n",
            "-------------\n",
            "（train）\n",
            "-------------\n",
            "epoch 159 || Epoch_D_Loss:0.0408 ||Epoch_G_Loss:0.3725\n",
            "timer:  1.5596 sec.\n",
            "-------------\n",
            "Epoch 160/300\n",
            "-------------\n",
            "（train）\n",
            "-------------\n",
            "epoch 160 || Epoch_D_Loss:0.0529 ||Epoch_G_Loss:0.3406\n",
            "timer:  1.5448 sec.\n",
            "-------------\n",
            "Epoch 161/300\n",
            "-------------\n",
            "（train）\n",
            "-------------\n",
            "epoch 161 || Epoch_D_Loss:0.0401 ||Epoch_G_Loss:0.3380\n",
            "timer:  1.5382 sec.\n",
            "-------------\n",
            "Epoch 162/300\n",
            "-------------\n",
            "（train）\n",
            "-------------\n",
            "epoch 162 || Epoch_D_Loss:0.0708 ||Epoch_G_Loss:0.3279\n",
            "timer:  1.5368 sec.\n",
            "-------------\n",
            "Epoch 163/300\n",
            "-------------\n",
            "（train）\n",
            "-------------\n",
            "epoch 163 || Epoch_D_Loss:0.0416 ||Epoch_G_Loss:0.3564\n",
            "timer:  1.5392 sec.\n",
            "-------------\n",
            "Epoch 164/300\n",
            "-------------\n",
            "（train）\n",
            "-------------\n",
            "epoch 164 || Epoch_D_Loss:0.0412 ||Epoch_G_Loss:0.3133\n",
            "timer:  1.5462 sec.\n",
            "-------------\n",
            "Epoch 165/300\n",
            "-------------\n",
            "（train）\n",
            "-------------\n",
            "epoch 165 || Epoch_D_Loss:0.0534 ||Epoch_G_Loss:0.3682\n",
            "timer:  1.5479 sec.\n",
            "-------------\n",
            "Epoch 166/300\n",
            "-------------\n",
            "（train）\n",
            "-------------\n",
            "epoch 166 || Epoch_D_Loss:0.0514 ||Epoch_G_Loss:0.3541\n",
            "timer:  1.5527 sec.\n",
            "-------------\n",
            "Epoch 167/300\n",
            "-------------\n",
            "（train）\n",
            "-------------\n",
            "epoch 167 || Epoch_D_Loss:0.0463 ||Epoch_G_Loss:0.3371\n",
            "timer:  1.5331 sec.\n",
            "-------------\n",
            "Epoch 168/300\n",
            "-------------\n",
            "（train）\n",
            "-------------\n",
            "epoch 168 || Epoch_D_Loss:0.0439 ||Epoch_G_Loss:0.3421\n",
            "timer:  1.5387 sec.\n",
            "-------------\n",
            "Epoch 169/300\n",
            "-------------\n",
            "（train）\n",
            "-------------\n",
            "epoch 169 || Epoch_D_Loss:0.0509 ||Epoch_G_Loss:0.3851\n",
            "timer:  1.5383 sec.\n",
            "-------------\n",
            "Epoch 170/300\n",
            "-------------\n",
            "（train）\n",
            "-------------\n",
            "epoch 170 || Epoch_D_Loss:0.0285 ||Epoch_G_Loss:0.3690\n",
            "timer:  1.5396 sec.\n",
            "-------------\n",
            "Epoch 171/300\n",
            "-------------\n",
            "（train）\n",
            "-------------\n",
            "epoch 171 || Epoch_D_Loss:0.0737 ||Epoch_G_Loss:0.3161\n",
            "timer:  1.5536 sec.\n",
            "-------------\n",
            "Epoch 172/300\n",
            "-------------\n",
            "（train）\n",
            "-------------\n",
            "epoch 172 || Epoch_D_Loss:0.0402 ||Epoch_G_Loss:0.3674\n",
            "timer:  1.5410 sec.\n",
            "-------------\n",
            "Epoch 173/300\n",
            "-------------\n",
            "（train）\n",
            "-------------\n",
            "epoch 173 || Epoch_D_Loss:0.0475 ||Epoch_G_Loss:0.3728\n",
            "timer:  1.5385 sec.\n",
            "-------------\n",
            "Epoch 174/300\n",
            "-------------\n",
            "（train）\n",
            "-------------\n",
            "epoch 174 || Epoch_D_Loss:0.0504 ||Epoch_G_Loss:0.3414\n",
            "timer:  1.5393 sec.\n",
            "-------------\n",
            "Epoch 175/300\n",
            "-------------\n",
            "（train）\n",
            "-------------\n",
            "epoch 175 || Epoch_D_Loss:0.0504 ||Epoch_G_Loss:0.3773\n",
            "timer:  1.5356 sec.\n",
            "-------------\n",
            "Epoch 176/300\n",
            "-------------\n",
            "（train）\n",
            "-------------\n",
            "epoch 176 || Epoch_D_Loss:0.0395 ||Epoch_G_Loss:0.3679\n",
            "timer:  1.5559 sec.\n",
            "-------------\n",
            "Epoch 177/300\n",
            "-------------\n",
            "（train）\n",
            "-------------\n",
            "epoch 177 || Epoch_D_Loss:0.0397 ||Epoch_G_Loss:0.4116\n",
            "timer:  1.5608 sec.\n",
            "-------------\n",
            "Epoch 178/300\n",
            "-------------\n",
            "（train）\n",
            "-------------\n",
            "epoch 178 || Epoch_D_Loss:0.0461 ||Epoch_G_Loss:0.3635\n",
            "timer:  1.5431 sec.\n",
            "-------------\n",
            "Epoch 179/300\n",
            "-------------\n",
            "（train）\n"
          ],
          "name": "stdout"
        },
        {
          "output_type": "stream",
          "text": [
            "-------------\n",
            "epoch 179 || Epoch_D_Loss:0.0380 ||Epoch_G_Loss:0.3499\n",
            "timer:  1.5346 sec.\n",
            "-------------\n",
            "Epoch 180/300\n",
            "-------------\n",
            "（train）\n",
            "-------------\n",
            "epoch 180 || Epoch_D_Loss:0.0496 ||Epoch_G_Loss:0.4467\n",
            "timer:  1.5341 sec.\n",
            "-------------\n",
            "Epoch 181/300\n",
            "-------------\n",
            "（train）\n",
            "-------------\n",
            "epoch 181 || Epoch_D_Loss:0.0582 ||Epoch_G_Loss:0.2921\n",
            "timer:  1.5446 sec.\n",
            "-------------\n",
            "Epoch 182/300\n",
            "-------------\n",
            "（train）\n",
            "-------------\n",
            "epoch 182 || Epoch_D_Loss:0.0384 ||Epoch_G_Loss:0.3625\n",
            "timer:  1.5453 sec.\n",
            "-------------\n",
            "Epoch 183/300\n",
            "-------------\n",
            "（train）\n",
            "-------------\n",
            "epoch 183 || Epoch_D_Loss:0.0472 ||Epoch_G_Loss:0.3851\n",
            "timer:  1.5549 sec.\n",
            "-------------\n",
            "Epoch 184/300\n",
            "-------------\n",
            "（train）\n",
            "-------------\n",
            "epoch 184 || Epoch_D_Loss:0.0385 ||Epoch_G_Loss:0.3973\n",
            "timer:  1.5446 sec.\n",
            "-------------\n",
            "Epoch 185/300\n",
            "-------------\n",
            "（train）\n",
            "-------------\n",
            "epoch 185 || Epoch_D_Loss:0.0428 ||Epoch_G_Loss:0.3993\n",
            "timer:  1.5388 sec.\n",
            "-------------\n",
            "Epoch 186/300\n",
            "-------------\n",
            "（train）\n",
            "-------------\n",
            "epoch 186 || Epoch_D_Loss:0.0348 ||Epoch_G_Loss:0.4052\n",
            "timer:  1.5435 sec.\n",
            "-------------\n",
            "Epoch 187/300\n",
            "-------------\n",
            "（train）\n",
            "-------------\n",
            "epoch 187 || Epoch_D_Loss:0.0332 ||Epoch_G_Loss:0.4707\n",
            "timer:  1.5431 sec.\n",
            "-------------\n",
            "Epoch 188/300\n",
            "-------------\n",
            "（train）\n",
            "-------------\n",
            "epoch 188 || Epoch_D_Loss:0.0638 ||Epoch_G_Loss:0.3214\n",
            "timer:  1.5565 sec.\n",
            "-------------\n",
            "Epoch 189/300\n",
            "-------------\n",
            "（train）\n",
            "-------------\n",
            "epoch 189 || Epoch_D_Loss:0.0245 ||Epoch_G_Loss:0.4375\n",
            "timer:  1.5449 sec.\n",
            "-------------\n",
            "Epoch 190/300\n",
            "-------------\n",
            "（train）\n",
            "-------------\n",
            "epoch 190 || Epoch_D_Loss:0.0157 ||Epoch_G_Loss:0.4719\n",
            "timer:  1.5394 sec.\n",
            "-------------\n",
            "Epoch 191/300\n",
            "-------------\n",
            "（train）\n",
            "-------------\n",
            "epoch 191 || Epoch_D_Loss:0.0673 ||Epoch_G_Loss:0.3726\n",
            "timer:  1.5428 sec.\n",
            "-------------\n",
            "Epoch 192/300\n",
            "-------------\n",
            "（train）\n",
            "-------------\n",
            "epoch 192 || Epoch_D_Loss:0.0293 ||Epoch_G_Loss:0.3965\n",
            "timer:  1.5438 sec.\n",
            "-------------\n",
            "Epoch 193/300\n",
            "-------------\n",
            "（train）\n",
            "-------------\n",
            "epoch 193 || Epoch_D_Loss:0.0430 ||Epoch_G_Loss:0.4025\n",
            "timer:  1.5425 sec.\n",
            "-------------\n",
            "Epoch 194/300\n",
            "-------------\n",
            "（train）\n",
            "-------------\n",
            "epoch 194 || Epoch_D_Loss:0.0321 ||Epoch_G_Loss:0.4233\n",
            "timer:  1.5461 sec.\n",
            "-------------\n",
            "Epoch 195/300\n",
            "-------------\n",
            "（train）\n",
            "-------------\n",
            "epoch 195 || Epoch_D_Loss:0.0438 ||Epoch_G_Loss:0.4283\n",
            "timer:  1.5443 sec.\n",
            "-------------\n",
            "Epoch 196/300\n",
            "-------------\n",
            "（train）\n",
            "-------------\n",
            "epoch 196 || Epoch_D_Loss:0.0441 ||Epoch_G_Loss:0.4250\n",
            "timer:  1.5393 sec.\n",
            "-------------\n",
            "Epoch 197/300\n",
            "-------------\n",
            "（train）\n",
            "-------------\n",
            "epoch 197 || Epoch_D_Loss:0.0322 ||Epoch_G_Loss:0.4511\n",
            "timer:  1.5422 sec.\n",
            "-------------\n",
            "Epoch 198/300\n",
            "-------------\n",
            "（train）\n",
            "-------------\n",
            "epoch 198 || Epoch_D_Loss:0.0227 ||Epoch_G_Loss:0.4706\n",
            "timer:  1.5385 sec.\n",
            "-------------\n",
            "Epoch 199/300\n",
            "-------------\n",
            "（train）\n",
            "-------------\n",
            "epoch 199 || Epoch_D_Loss:0.0407 ||Epoch_G_Loss:0.4064\n",
            "timer:  1.5596 sec.\n",
            "-------------\n",
            "Epoch 200/300\n",
            "-------------\n",
            "（train）\n",
            "-------------\n",
            "epoch 200 || Epoch_D_Loss:0.0383 ||Epoch_G_Loss:0.4628\n",
            "timer:  1.5551 sec.\n",
            "-------------\n",
            "Epoch 201/300\n",
            "-------------\n",
            "（train）\n",
            "-------------\n",
            "epoch 201 || Epoch_D_Loss:0.0475 ||Epoch_G_Loss:0.4183\n",
            "timer:  1.5416 sec.\n",
            "-------------\n",
            "Epoch 202/300\n",
            "-------------\n",
            "（train）\n",
            "-------------\n",
            "epoch 202 || Epoch_D_Loss:0.0230 ||Epoch_G_Loss:0.3825\n",
            "timer:  1.5420 sec.\n",
            "-------------\n",
            "Epoch 203/300\n",
            "-------------\n",
            "（train）\n",
            "-------------\n",
            "epoch 203 || Epoch_D_Loss:0.0336 ||Epoch_G_Loss:0.5174\n",
            "timer:  1.5336 sec.\n",
            "-------------\n",
            "Epoch 204/300\n",
            "-------------\n",
            "（train）\n",
            "-------------\n",
            "epoch 204 || Epoch_D_Loss:0.0448 ||Epoch_G_Loss:0.3758\n",
            "timer:  1.5446 sec.\n",
            "-------------\n",
            "Epoch 205/300\n",
            "-------------\n",
            "（train）\n",
            "-------------\n",
            "epoch 205 || Epoch_D_Loss:0.0147 ||Epoch_G_Loss:0.4794\n",
            "timer:  1.5498 sec.\n",
            "-------------\n",
            "Epoch 206/300\n",
            "-------------\n",
            "（train）\n",
            "-------------\n",
            "epoch 206 || Epoch_D_Loss:0.0679 ||Epoch_G_Loss:0.3841\n",
            "timer:  1.5533 sec.\n",
            "-------------\n",
            "Epoch 207/300\n",
            "-------------\n",
            "（train）\n",
            "-------------\n",
            "epoch 207 || Epoch_D_Loss:0.0127 ||Epoch_G_Loss:0.5393\n",
            "timer:  1.5484 sec.\n",
            "-------------\n",
            "Epoch 208/300\n",
            "-------------\n",
            "（train）\n",
            "-------------\n",
            "epoch 208 || Epoch_D_Loss:0.0517 ||Epoch_G_Loss:0.3995\n",
            "timer:  1.5390 sec.\n",
            "-------------\n",
            "Epoch 209/300\n",
            "-------------\n",
            "（train）\n",
            "-------------\n",
            "epoch 209 || Epoch_D_Loss:0.0185 ||Epoch_G_Loss:0.5293\n",
            "timer:  1.5440 sec.\n",
            "-------------\n",
            "Epoch 210/300\n",
            "-------------\n",
            "（train）\n",
            "-------------\n",
            "epoch 210 || Epoch_D_Loss:0.0397 ||Epoch_G_Loss:0.3944\n",
            "timer:  1.5623 sec.\n",
            "-------------\n",
            "Epoch 211/300\n",
            "-------------\n",
            "（train）\n",
            "-------------\n",
            "epoch 211 || Epoch_D_Loss:0.0162 ||Epoch_G_Loss:0.5013\n",
            "timer:  1.5524 sec.\n",
            "-------------\n",
            "Epoch 212/300\n",
            "-------------\n",
            "（train）\n",
            "-------------\n",
            "epoch 212 || Epoch_D_Loss:0.0526 ||Epoch_G_Loss:0.4060\n",
            "timer:  1.5404 sec.\n",
            "-------------\n",
            "Epoch 213/300\n",
            "-------------\n",
            "（train）\n",
            "-------------\n",
            "epoch 213 || Epoch_D_Loss:0.0127 ||Epoch_G_Loss:0.5186\n",
            "timer:  1.5408 sec.\n",
            "-------------\n",
            "Epoch 214/300\n",
            "-------------\n",
            "（train）\n",
            "-------------\n",
            "epoch 214 || Epoch_D_Loss:0.0397 ||Epoch_G_Loss:0.4652\n",
            "timer:  1.5496 sec.\n",
            "-------------\n",
            "Epoch 215/300\n",
            "-------------\n",
            "（train）\n",
            "-------------\n",
            "epoch 215 || Epoch_D_Loss:0.0236 ||Epoch_G_Loss:0.4582\n",
            "timer:  1.5422 sec.\n",
            "-------------\n",
            "Epoch 216/300\n",
            "-------------\n",
            "（train）\n",
            "-------------\n",
            "epoch 216 || Epoch_D_Loss:0.0275 ||Epoch_G_Loss:0.5102\n",
            "timer:  1.5575 sec.\n",
            "-------------\n",
            "Epoch 217/300\n",
            "-------------\n",
            "（train）\n",
            "-------------\n",
            "epoch 217 || Epoch_D_Loss:0.0458 ||Epoch_G_Loss:0.4424\n",
            "timer:  1.5429 sec.\n",
            "-------------\n",
            "Epoch 218/300\n",
            "-------------\n",
            "（train）\n",
            "-------------\n",
            "epoch 218 || Epoch_D_Loss:0.0107 ||Epoch_G_Loss:0.5645\n",
            "timer:  1.5418 sec.\n",
            "-------------\n",
            "Epoch 219/300\n",
            "-------------\n",
            "（train）\n",
            "-------------\n",
            "epoch 219 || Epoch_D_Loss:0.0341 ||Epoch_G_Loss:0.4801\n",
            "timer:  1.5420 sec.\n",
            "-------------\n",
            "Epoch 220/300\n",
            "-------------\n",
            "（train）\n",
            "-------------\n",
            "epoch 220 || Epoch_D_Loss:0.0142 ||Epoch_G_Loss:0.5574\n",
            "timer:  1.5383 sec.\n",
            "-------------\n",
            "Epoch 221/300\n",
            "-------------\n",
            "（train）\n",
            "-------------\n",
            "epoch 221 || Epoch_D_Loss:0.0247 ||Epoch_G_Loss:0.5848\n",
            "timer:  1.5553 sec.\n",
            "-------------\n",
            "Epoch 222/300\n",
            "-------------\n",
            "（train）\n",
            "-------------\n",
            "epoch 222 || Epoch_D_Loss:0.0268 ||Epoch_G_Loss:0.4524\n",
            "timer:  1.5595 sec.\n",
            "-------------\n",
            "Epoch 223/300\n",
            "-------------\n",
            "（train）\n",
            "-------------\n",
            "epoch 223 || Epoch_D_Loss:0.0132 ||Epoch_G_Loss:0.6181\n",
            "timer:  1.5369 sec.\n",
            "-------------\n",
            "Epoch 224/300\n",
            "-------------\n",
            "（train）\n",
            "-------------\n",
            "epoch 224 || Epoch_D_Loss:0.0491 ||Epoch_G_Loss:0.4653\n",
            "timer:  1.5379 sec.\n",
            "-------------\n",
            "Epoch 225/300\n",
            "-------------\n",
            "（train）\n",
            "-------------\n",
            "epoch 225 || Epoch_D_Loss:0.0407 ||Epoch_G_Loss:0.5146\n",
            "timer:  1.5378 sec.\n",
            "-------------\n",
            "Epoch 226/300\n",
            "-------------\n",
            "（train）\n",
            "-------------\n",
            "epoch 226 || Epoch_D_Loss:0.0214 ||Epoch_G_Loss:0.3950\n",
            "timer:  1.5443 sec.\n",
            "-------------\n",
            "Epoch 227/300\n",
            "-------------\n",
            "（train）\n",
            "-------------\n",
            "epoch 227 || Epoch_D_Loss:0.0094 ||Epoch_G_Loss:0.5555\n",
            "timer:  1.5546 sec.\n",
            "-------------\n",
            "Epoch 228/300\n",
            "-------------\n",
            "（train）\n",
            "-------------\n",
            "epoch 228 || Epoch_D_Loss:0.0552 ||Epoch_G_Loss:0.4721\n",
            "timer:  1.5510 sec.\n",
            "-------------\n",
            "Epoch 229/300\n",
            "-------------\n",
            "（train）\n",
            "-------------\n",
            "epoch 229 || Epoch_D_Loss:0.0141 ||Epoch_G_Loss:0.4924\n",
            "timer:  1.5440 sec.\n",
            "-------------\n",
            "Epoch 230/300\n",
            "-------------\n",
            "（train）\n",
            "-------------\n",
            "epoch 230 || Epoch_D_Loss:0.0232 ||Epoch_G_Loss:0.6247\n",
            "timer:  1.5413 sec.\n",
            "-------------\n",
            "Epoch 231/300\n",
            "-------------\n",
            "（train）\n",
            "-------------\n",
            "epoch 231 || Epoch_D_Loss:0.0253 ||Epoch_G_Loss:0.4313\n",
            "timer:  1.5421 sec.\n",
            "-------------\n",
            "Epoch 232/300\n",
            "-------------\n",
            "（train）\n",
            "-------------\n",
            "epoch 232 || Epoch_D_Loss:0.0252 ||Epoch_G_Loss:0.5522\n",
            "timer:  1.5568 sec.\n",
            "-------------\n",
            "Epoch 233/300\n",
            "-------------\n",
            "（train）\n",
            "-------------\n",
            "epoch 233 || Epoch_D_Loss:0.0313 ||Epoch_G_Loss:0.4970\n",
            "timer:  1.5577 sec.\n",
            "-------------\n",
            "Epoch 234/300\n",
            "-------------\n",
            "（train）\n",
            "-------------\n",
            "epoch 234 || Epoch_D_Loss:0.0221 ||Epoch_G_Loss:0.5493\n",
            "timer:  1.5393 sec.\n",
            "-------------\n",
            "Epoch 235/300\n",
            "-------------\n",
            "（train）\n",
            "-------------\n",
            "epoch 235 || Epoch_D_Loss:0.0073 ||Epoch_G_Loss:0.6974\n",
            "timer:  1.5355 sec.\n",
            "-------------\n",
            "Epoch 236/300\n",
            "-------------\n",
            "（train）\n",
            "-------------\n",
            "epoch 236 || Epoch_D_Loss:0.0484 ||Epoch_G_Loss:0.3634\n",
            "timer:  1.5416 sec.\n",
            "-------------\n",
            "Epoch 237/300\n",
            "-------------\n",
            "（train）\n",
            "-------------\n",
            "epoch 237 || Epoch_D_Loss:0.0130 ||Epoch_G_Loss:0.5312\n",
            "timer:  1.5429 sec.\n",
            "-------------\n",
            "Epoch 238/300\n",
            "-------------\n",
            "（train）\n"
          ],
          "name": "stdout"
        },
        {
          "output_type": "stream",
          "text": [
            "-------------\n",
            "epoch 238 || Epoch_D_Loss:0.0185 ||Epoch_G_Loss:0.5726\n",
            "timer:  1.5602 sec.\n",
            "-------------\n",
            "Epoch 239/300\n",
            "-------------\n",
            "（train）\n",
            "-------------\n",
            "epoch 239 || Epoch_D_Loss:0.0057 ||Epoch_G_Loss:0.6009\n",
            "timer:  1.5466 sec.\n",
            "-------------\n",
            "Epoch 240/300\n",
            "-------------\n",
            "（train）\n",
            "-------------\n",
            "epoch 240 || Epoch_D_Loss:0.0327 ||Epoch_G_Loss:0.5474\n",
            "timer:  1.5490 sec.\n",
            "-------------\n",
            "Epoch 241/300\n",
            "-------------\n",
            "（train）\n",
            "-------------\n",
            "epoch 241 || Epoch_D_Loss:0.0140 ||Epoch_G_Loss:0.5937\n",
            "timer:  1.5405 sec.\n",
            "-------------\n",
            "Epoch 242/300\n",
            "-------------\n",
            "（train）\n",
            "-------------\n",
            "epoch 242 || Epoch_D_Loss:0.0412 ||Epoch_G_Loss:0.4918\n",
            "timer:  1.5411 sec.\n",
            "-------------\n",
            "Epoch 243/300\n",
            "-------------\n",
            "（train）\n",
            "-------------\n",
            "epoch 243 || Epoch_D_Loss:0.0102 ||Epoch_G_Loss:0.6343\n",
            "timer:  1.5631 sec.\n",
            "-------------\n",
            "Epoch 244/300\n",
            "-------------\n",
            "（train）\n",
            "-------------\n",
            "epoch 244 || Epoch_D_Loss:0.0422 ||Epoch_G_Loss:0.5061\n",
            "timer:  1.5564 sec.\n",
            "-------------\n",
            "Epoch 245/300\n",
            "-------------\n",
            "（train）\n",
            "-------------\n",
            "epoch 245 || Epoch_D_Loss:0.0081 ||Epoch_G_Loss:0.6429\n",
            "timer:  1.5401 sec.\n",
            "-------------\n",
            "Epoch 246/300\n",
            "-------------\n",
            "（train）\n",
            "-------------\n",
            "epoch 246 || Epoch_D_Loss:0.0304 ||Epoch_G_Loss:0.6095\n",
            "timer:  1.5393 sec.\n",
            "-------------\n",
            "Epoch 247/300\n",
            "-------------\n",
            "（train）\n",
            "-------------\n",
            "epoch 247 || Epoch_D_Loss:0.0140 ||Epoch_G_Loss:0.6318\n",
            "timer:  1.5368 sec.\n",
            "-------------\n",
            "Epoch 248/300\n",
            "-------------\n",
            "（train）\n",
            "-------------\n",
            "epoch 248 || Epoch_D_Loss:0.0283 ||Epoch_G_Loss:0.4530\n",
            "timer:  1.5422 sec.\n",
            "-------------\n",
            "Epoch 249/300\n",
            "-------------\n",
            "（train）\n",
            "-------------\n",
            "epoch 249 || Epoch_D_Loss:0.0270 ||Epoch_G_Loss:0.5496\n",
            "timer:  1.5620 sec.\n",
            "-------------\n",
            "Epoch 250/300\n",
            "-------------\n",
            "（train）\n",
            "-------------\n",
            "epoch 250 || Epoch_D_Loss:0.0061 ||Epoch_G_Loss:0.6141\n",
            "timer:  1.5491 sec.\n",
            "-------------\n",
            "Epoch 251/300\n",
            "-------------\n",
            "（train）\n",
            "-------------\n",
            "epoch 251 || Epoch_D_Loss:0.0355 ||Epoch_G_Loss:0.5566\n",
            "timer:  1.5426 sec.\n",
            "-------------\n",
            "Epoch 252/300\n",
            "-------------\n",
            "（train）\n",
            "-------------\n",
            "epoch 252 || Epoch_D_Loss:0.0102 ||Epoch_G_Loss:0.6078\n",
            "timer:  1.5404 sec.\n",
            "-------------\n",
            "Epoch 253/300\n",
            "-------------\n",
            "（train）\n",
            "-------------\n",
            "epoch 253 || Epoch_D_Loss:0.0338 ||Epoch_G_Loss:0.5276\n",
            "timer:  1.5496 sec.\n",
            "-------------\n",
            "Epoch 254/300\n",
            "-------------\n",
            "（train）\n",
            "-------------\n",
            "epoch 254 || Epoch_D_Loss:0.0112 ||Epoch_G_Loss:0.6396\n",
            "timer:  1.5583 sec.\n",
            "-------------\n",
            "Epoch 255/300\n",
            "-------------\n",
            "（train）\n",
            "-------------\n",
            "epoch 255 || Epoch_D_Loss:0.0293 ||Epoch_G_Loss:0.5853\n",
            "timer:  1.5564 sec.\n",
            "-------------\n",
            "Epoch 256/300\n",
            "-------------\n",
            "（train）\n",
            "-------------\n",
            "epoch 256 || Epoch_D_Loss:0.0123 ||Epoch_G_Loss:0.6129\n",
            "timer:  1.5379 sec.\n",
            "-------------\n",
            "Epoch 257/300\n",
            "-------------\n",
            "（train）\n",
            "-------------\n",
            "epoch 257 || Epoch_D_Loss:0.0279 ||Epoch_G_Loss:0.5561\n",
            "timer:  1.5415 sec.\n",
            "-------------\n",
            "Epoch 258/300\n",
            "-------------\n",
            "（train）\n",
            "-------------\n",
            "epoch 258 || Epoch_D_Loss:0.0084 ||Epoch_G_Loss:0.6159\n",
            "timer:  1.5452 sec.\n",
            "-------------\n",
            "Epoch 259/300\n",
            "-------------\n",
            "（train）\n",
            "-------------\n",
            "epoch 259 || Epoch_D_Loss:0.0470 ||Epoch_G_Loss:0.5135\n",
            "timer:  1.5580 sec.\n",
            "-------------\n",
            "Epoch 260/300\n",
            "-------------\n",
            "（train）\n",
            "-------------\n",
            "epoch 260 || Epoch_D_Loss:0.0067 ||Epoch_G_Loss:0.5908\n",
            "timer:  1.5501 sec.\n",
            "-------------\n",
            "Epoch 261/300\n",
            "-------------\n",
            "（train）\n",
            "-------------\n",
            "epoch 261 || Epoch_D_Loss:0.0093 ||Epoch_G_Loss:0.6632\n",
            "timer:  1.5410 sec.\n",
            "-------------\n",
            "Epoch 262/300\n",
            "-------------\n",
            "（train）\n",
            "-------------\n",
            "epoch 262 || Epoch_D_Loss:0.0174 ||Epoch_G_Loss:0.6853\n",
            "timer:  1.5392 sec.\n",
            "-------------\n",
            "Epoch 263/300\n",
            "-------------\n",
            "（train）\n",
            "-------------\n",
            "epoch 263 || Epoch_D_Loss:0.0258 ||Epoch_G_Loss:0.6005\n",
            "timer:  1.5425 sec.\n",
            "-------------\n",
            "Epoch 264/300\n",
            "-------------\n",
            "（train）\n",
            "-------------\n",
            "epoch 264 || Epoch_D_Loss:0.0500 ||Epoch_G_Loss:0.4099\n",
            "timer:  1.5458 sec.\n",
            "-------------\n",
            "Epoch 265/300\n",
            "-------------\n",
            "（train）\n",
            "-------------\n",
            "epoch 265 || Epoch_D_Loss:0.0144 ||Epoch_G_Loss:0.5399\n",
            "timer:  1.5597 sec.\n",
            "-------------\n",
            "Epoch 266/300\n",
            "-------------\n",
            "（train）\n",
            "-------------\n",
            "epoch 266 || Epoch_D_Loss:0.0057 ||Epoch_G_Loss:0.6519\n",
            "timer:  1.5502 sec.\n",
            "-------------\n",
            "Epoch 267/300\n",
            "-------------\n",
            "（train）\n",
            "-------------\n",
            "epoch 267 || Epoch_D_Loss:0.0359 ||Epoch_G_Loss:0.6064\n",
            "timer:  1.5423 sec.\n",
            "-------------\n",
            "Epoch 268/300\n",
            "-------------\n",
            "（train）\n",
            "-------------\n",
            "epoch 268 || Epoch_D_Loss:0.0104 ||Epoch_G_Loss:0.6184\n",
            "timer:  1.5384 sec.\n",
            "-------------\n",
            "Epoch 269/300\n",
            "-------------\n",
            "（train）\n",
            "-------------\n",
            "epoch 269 || Epoch_D_Loss:0.0098 ||Epoch_G_Loss:0.6152\n",
            "timer:  1.5504 sec.\n",
            "-------------\n",
            "Epoch 270/300\n",
            "-------------\n",
            "（train）\n",
            "-------------\n",
            "epoch 270 || Epoch_D_Loss:0.0265 ||Epoch_G_Loss:0.6859\n",
            "timer:  1.5586 sec.\n",
            "-------------\n",
            "Epoch 271/300\n",
            "-------------\n",
            "（train）\n",
            "-------------\n",
            "epoch 271 || Epoch_D_Loss:0.0204 ||Epoch_G_Loss:0.5846\n",
            "timer:  1.5509 sec.\n",
            "-------------\n",
            "Epoch 272/300\n",
            "-------------\n",
            "（train）\n",
            "-------------\n",
            "epoch 272 || Epoch_D_Loss:0.0155 ||Epoch_G_Loss:0.6338\n",
            "timer:  1.5451 sec.\n",
            "-------------\n",
            "Epoch 273/300\n",
            "-------------\n",
            "（train）\n",
            "-------------\n",
            "epoch 273 || Epoch_D_Loss:0.0048 ||Epoch_G_Loss:0.7036\n",
            "timer:  1.5402 sec.\n",
            "-------------\n",
            "Epoch 274/300\n",
            "-------------\n",
            "（train）\n",
            "-------------\n",
            "epoch 274 || Epoch_D_Loss:0.0141 ||Epoch_G_Loss:0.6290\n",
            "timer:  1.5409 sec.\n",
            "-------------\n",
            "Epoch 275/300\n",
            "-------------\n",
            "（train）\n",
            "-------------\n",
            "epoch 275 || Epoch_D_Loss:0.0290 ||Epoch_G_Loss:0.6820\n",
            "timer:  1.5432 sec.\n",
            "-------------\n",
            "Epoch 276/300\n",
            "-------------\n",
            "（train）\n",
            "-------------\n",
            "epoch 276 || Epoch_D_Loss:0.0284 ||Epoch_G_Loss:0.5624\n",
            "timer:  1.5586 sec.\n",
            "-------------\n",
            "Epoch 277/300\n",
            "-------------\n",
            "（train）\n",
            "-------------\n",
            "epoch 277 || Epoch_D_Loss:0.0074 ||Epoch_G_Loss:0.6767\n",
            "timer:  1.5505 sec.\n",
            "-------------\n",
            "Epoch 278/300\n",
            "-------------\n",
            "（train）\n",
            "-------------\n",
            "epoch 278 || Epoch_D_Loss:0.0078 ||Epoch_G_Loss:0.7068\n",
            "timer:  1.5393 sec.\n",
            "-------------\n",
            "Epoch 279/300\n",
            "-------------\n",
            "（train）\n",
            "-------------\n",
            "epoch 279 || Epoch_D_Loss:0.0461 ||Epoch_G_Loss:0.4938\n",
            "timer:  1.5490 sec.\n",
            "-------------\n",
            "Epoch 280/300\n",
            "-------------\n",
            "（train）\n",
            "-------------\n",
            "epoch 280 || Epoch_D_Loss:0.0053 ||Epoch_G_Loss:0.6663\n",
            "timer:  1.5396 sec.\n",
            "-------------\n",
            "Epoch 281/300\n",
            "-------------\n",
            "（train）\n",
            "-------------\n",
            "epoch 281 || Epoch_D_Loss:0.0074 ||Epoch_G_Loss:0.6941\n",
            "timer:  1.5531 sec.\n",
            "-------------\n",
            "Epoch 282/300\n",
            "-------------\n",
            "（train）\n",
            "-------------\n",
            "epoch 282 || Epoch_D_Loss:0.0223 ||Epoch_G_Loss:0.6152\n",
            "timer:  1.5460 sec.\n",
            "-------------\n",
            "Epoch 283/300\n",
            "-------------\n",
            "（train）\n",
            "-------------\n",
            "epoch 283 || Epoch_D_Loss:0.0082 ||Epoch_G_Loss:0.7651\n",
            "timer:  1.5414 sec.\n",
            "-------------\n",
            "Epoch 284/300\n",
            "-------------\n",
            "（train）\n",
            "-------------\n",
            "epoch 284 || Epoch_D_Loss:0.0379 ||Epoch_G_Loss:0.5572\n",
            "timer:  1.5355 sec.\n",
            "-------------\n",
            "Epoch 285/300\n",
            "-------------\n",
            "（train）\n",
            "-------------\n",
            "epoch 285 || Epoch_D_Loss:0.0108 ||Epoch_G_Loss:0.6599\n",
            "timer:  1.5411 sec.\n",
            "-------------\n",
            "Epoch 286/300\n",
            "-------------\n",
            "（train）\n",
            "-------------\n",
            "epoch 286 || Epoch_D_Loss:0.0040 ||Epoch_G_Loss:0.7559\n",
            "timer:  1.5488 sec.\n",
            "-------------\n",
            "Epoch 287/300\n",
            "-------------\n",
            "（train）\n",
            "-------------\n",
            "epoch 287 || Epoch_D_Loss:0.0432 ||Epoch_G_Loss:0.6237\n",
            "timer:  1.5572 sec.\n",
            "-------------\n",
            "Epoch 288/300\n",
            "-------------\n",
            "（train）\n",
            "-------------\n",
            "epoch 288 || Epoch_D_Loss:0.0085 ||Epoch_G_Loss:0.5591\n",
            "timer:  1.5518 sec.\n",
            "-------------\n",
            "Epoch 289/300\n",
            "-------------\n",
            "（train）\n",
            "-------------\n",
            "epoch 289 || Epoch_D_Loss:0.0112 ||Epoch_G_Loss:0.7125\n",
            "timer:  1.5483 sec.\n",
            "-------------\n",
            "Epoch 290/300\n",
            "-------------\n",
            "（train）\n",
            "-------------\n",
            "epoch 290 || Epoch_D_Loss:0.0224 ||Epoch_G_Loss:0.6300\n",
            "timer:  1.5359 sec.\n",
            "-------------\n",
            "Epoch 291/300\n",
            "-------------\n",
            "（train）\n",
            "-------------\n",
            "epoch 291 || Epoch_D_Loss:0.0044 ||Epoch_G_Loss:0.7307\n",
            "timer:  1.5446 sec.\n",
            "-------------\n",
            "Epoch 292/300\n",
            "-------------\n",
            "（train）\n",
            "-------------\n",
            "epoch 292 || Epoch_D_Loss:0.0025 ||Epoch_G_Loss:0.9105\n",
            "timer:  1.5553 sec.\n",
            "-------------\n",
            "Epoch 293/300\n",
            "-------------\n",
            "（train）\n",
            "-------------\n",
            "epoch 293 || Epoch_D_Loss:0.0480 ||Epoch_G_Loss:0.4718\n",
            "timer:  1.5504 sec.\n",
            "-------------\n",
            "Epoch 294/300\n",
            "-------------\n",
            "（train）\n",
            "-------------\n",
            "epoch 294 || Epoch_D_Loss:0.0092 ||Epoch_G_Loss:0.6033\n",
            "timer:  1.5367 sec.\n",
            "-------------\n",
            "Epoch 295/300\n",
            "-------------\n",
            "（train）\n",
            "-------------\n",
            "epoch 295 || Epoch_D_Loss:0.0084 ||Epoch_G_Loss:0.6750\n",
            "timer:  1.5371 sec.\n",
            "-------------\n",
            "Epoch 296/300\n",
            "-------------\n",
            "（train）\n",
            "-------------\n",
            "epoch 296 || Epoch_D_Loss:0.0269 ||Epoch_G_Loss:0.7339\n",
            "timer:  1.5418 sec.\n",
            "-------------\n",
            "Epoch 297/300\n",
            "-------------\n",
            "（train）\n"
          ],
          "name": "stdout"
        },
        {
          "output_type": "stream",
          "text": [
            "-------------\n",
            "epoch 297 || Epoch_D_Loss:0.0078 ||Epoch_G_Loss:0.7064\n",
            "timer:  1.5412 sec.\n",
            "-------------\n",
            "Epoch 298/300\n",
            "-------------\n",
            "（train）\n",
            "-------------\n",
            "epoch 298 || Epoch_D_Loss:0.0188 ||Epoch_G_Loss:0.7361\n",
            "timer:  1.5607 sec.\n",
            "-------------\n",
            "Epoch 299/300\n",
            "-------------\n",
            "（train）\n",
            "-------------\n",
            "epoch 299 || Epoch_D_Loss:0.0376 ||Epoch_G_Loss:0.5152\n",
            "timer:  1.5542 sec.\n",
            "総イタレーション回数: 2101\n"
          ],
          "name": "stdout"
        }
      ]
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "4fmp51OyNTRs",
        "outputId": "948838ac-4fe1-445c-f306-01003a2e88d6"
      },
      "source": [
        "# 生成画像と訓練データを可視化する\n",
        "# 本セルは何度か実行し直しています。\n",
        "\n",
        "device = torch.device(\"cuda:0\" if torch.cuda.is_available() else \"cpu\")\n",
        "\n",
        "# 入力の乱数生成\n",
        "batch_size = 8\n",
        "z_dim = 20\n",
        "fixed_z = torch.randn(batch_size, z_dim)\n",
        "fixed_z = fixed_z.view(fixed_z.size(0), fixed_z.size(1), 1, 1)\n",
        "fake_images = G_update(fixed_z.to(device))\n",
        "\n",
        "# 訓練データ\n",
        "batch_iterator = iter(train_dataloader)  # イテレータに変換\n",
        "imges = next(batch_iterator)  # 1番目の要素を取り出す\n",
        "\n",
        "\n",
        "# 出力\n",
        "fig = plt.figure(figsize=(15, 6))\n",
        "for i in range(0, 5):\n",
        "    # 上段に訓練データを\n",
        "    plt.subplot(2, 5, i+1)\n",
        "    plt.imshow(imges[i][0].cpu().detach().numpy(), 'gray')\n",
        "\n",
        "    # 下段に生成データを表示する\n",
        "    plt.subplot(2, 5, 5+i+1)\n",
        "    plt.imshow(fake_images[i][0].cpu().detach().numpy(), 'gray')"
      ],
      "execution_count": null,
      "outputs": [
        {
          "output_type": "display_data",
          "data": {
            "image/png": "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\n",
            "text/plain": [
              "<Figure size 1080x432 with 10 Axes>"
            ]
          },
          "metadata": {
            "tags": []
          }
        }
      ]
    },
    {
      "cell_type": "markdown",
      "metadata": {
        "id": "ONi7hdK2NTRv"
      },
      "source": [
        "# AnoGANの本体"
      ]
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "F-P7OJnwNTRw"
      },
      "source": [
        "def Anomaly_score(x, fake_img, D, Lambda=0.1):\n",
        "\n",
        "    # テスト画像xと生成画像fake_imgのピクセルレベルの差の絶対値を求めて、ミニバッチごとに和を求める\n",
        "    residual_loss = torch.abs(x-fake_img)\n",
        "    residual_loss = residual_loss.view(residual_loss.size()[0], -1)\n",
        "    residual_loss = torch.sum(residual_loss, dim=1)\n",
        "\n",
        "    # テスト画像xと生成画像fake_imgを識別器Dに入力し、特徴量を取り出す\n",
        "    _, x_feature = D(x)\n",
        "    _, G_feature = D(fake_img)\n",
        "\n",
        "    # テスト画像xと生成画像fake_imgの特徴量の差の絶対値を求めて、ミニバッチごとに和を求める\n",
        "    discrimination_loss = torch.abs(x_feature-G_feature)\n",
        "    \n",
        "    # #298より不要なコードなのでコメントアウト\n",
        "    # discrimination_loss = discrimination_loss.view(\n",
        "    #    discrimination_loss.size()[0], -1)\n",
        "    \n",
        "    discrimination_loss = torch.sum(discrimination_loss, dim=1)\n",
        "\n",
        "    # ミニバッチごとに2種類の損失を足し算する\n",
        "    loss_each = (1-Lambda)*residual_loss + Lambda*discrimination_loss\n",
        "\n",
        "    # ミニバッチ全部の損失を求める\n",
        "    total_loss = torch.sum(loss_each)\n",
        "\n",
        "    return total_loss, loss_each, residual_loss\n"
      ],
      "execution_count": null,
      "outputs": []
    },
    {
      "cell_type": "markdown",
      "metadata": {
        "id": "6znyqRZzNTRy"
      },
      "source": [
        "# テスト画像で異常検知する"
      ]
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "DiStymFxNTRy"
      },
      "source": [
        "# テスト用のDataLoaderの作成\n",
        "\n",
        "\n",
        "def make_test_datapath_list():\n",
        "    \"\"\"学習、検証の画像データとアノテーションデータへのファイルパスリストを作成する。 \"\"\"\n",
        "\n",
        "    train_img_list = list()  # 画像ファイルパスを格納\n",
        "\n",
        "    for img_idx in range(5):\n",
        "        img_path = \"./data/test/img_7_\" + str(img_idx)+'.jpg'\n",
        "        train_img_list.append(img_path)\n",
        "\n",
        "        img_path = \"./data/test/img_8_\" + str(img_idx)+'.jpg'\n",
        "        train_img_list.append(img_path)\n",
        "\n",
        "        img_path = \"./data/test/img_2_\" + str(img_idx)+'.jpg'\n",
        "        train_img_list.append(img_path)\n",
        "\n",
        "    return train_img_list\n",
        "\n",
        "\n",
        "# ファイルリストを作成\n",
        "test_img_list = make_test_datapath_list()\n",
        "\n",
        "# Datasetを作成\n",
        "mean = (0.5,)\n",
        "std = (0.5,)\n",
        "test_dataset = GAN_Img_Dataset(\n",
        "    file_list=test_img_list, transform=ImageTransform(mean, std))\n",
        "\n",
        "# DataLoaderを作成\n",
        "batch_size = 5\n",
        "\n",
        "test_dataloader = torch.utils.data.DataLoader(\n",
        "    test_dataset, batch_size=batch_size, shuffle=False)\n"
      ],
      "execution_count": null,
      "outputs": []
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "EuyHrvz5NTR0",
        "outputId": "3382f9fb-1013-465f-81cf-218e39a5289e"
      },
      "source": [
        "# テストデータの確認\n",
        "batch_iterator = iter(test_dataloader)  # イテレータに変換\n",
        "imges = next(batch_iterator)  \n",
        "\n",
        "# 1番目のミニバッチを取り出す\n",
        "\n",
        "fig = plt.figure(figsize=(15, 6))\n",
        "for i in range(0, 5):\n",
        "    plt.subplot(2, 5, i+1)\n",
        "    plt.imshow(imges[i][0].cpu().detach().numpy(), 'gray')\n"
      ],
      "execution_count": null,
      "outputs": [
        {
          "output_type": "display_data",
          "data": {
            "image/png": "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\n",
            "text/plain": [
              "<Figure size 1080x432 with 5 Axes>"
            ]
          },
          "metadata": {
            "tags": []
          }
        }
      ]
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "yOAa2MlYNTR3",
        "outputId": "27bafb1e-3f2e-4bd6-cedd-6c08b2a8e23a"
      },
      "source": [
        "# 異常検知したい画像\n",
        "x = imges[0:5]\n",
        "x = x.to(device)\n",
        "\n",
        "# 異常検知したい画像を生成するための、初期乱数\n",
        "z = torch.randn(5, 20).to(device)\n",
        "z = z.view(z.size(0), z.size(1), 1, 1)\n",
        "\n",
        "# 変数zを微分を求めることが可能なように、requires_gradをTrueに設定\n",
        "z.requires_grad = True\n",
        "\n",
        "# 変数zを更新できるように、zの最適化関数を求める\n",
        "z_optimizer = torch.optim.Adam([z], lr=1e-3)\n",
        "\n",
        "\n",
        "# zを求める\n",
        "for epoch in range(5000+1):\n",
        "    fake_img = G_update(z)\n",
        "    loss, _, _ = Anomaly_score(x, fake_img, D_update, Lambda=0.1)\n",
        "\n",
        "    z_optimizer.zero_grad()\n",
        "    loss.backward()\n",
        "    z_optimizer.step()\n",
        "\n",
        "    if epoch % 1000 == 0:\n",
        "        print('epoch {} || loss_total:{:.0f} '.format(epoch, loss.item()))\n"
      ],
      "execution_count": null,
      "outputs": [
        {
          "output_type": "stream",
          "text": [
            "epoch 0 || loss_total:6299 \n",
            "epoch 1000 || loss_total:3815 \n",
            "epoch 2000 || loss_total:2809 \n",
            "epoch 3000 || loss_total:2422 \n",
            "epoch 4000 || loss_total:2247 \n",
            "epoch 5000 || loss_total:2215 \n"
          ],
          "name": "stdout"
        }
      ]
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "fofex37oNTR5",
        "outputId": "320b5428-ed6d-42d0-e308-92f1dce6669f"
      },
      "source": [
        "# 画像を生成\n",
        "G_update.eval()\n",
        "fake_img = G_update(z)\n",
        "\n",
        "# 損失を求める\n",
        "loss, loss_each, residual_loss_each = Anomaly_score(\n",
        "    x, fake_img, D_update, Lambda=0.1)\n",
        "\n",
        "# 損失の計算。トータルの損失\n",
        "loss_each = loss_each.cpu().detach().numpy()\n",
        "print(\"total loss：\", np.round(loss_each, 0))\n",
        "\n",
        "# 画像を可視化\n",
        "fig = plt.figure(figsize=(15, 6))\n",
        "for i in range(0, 5):\n",
        "    # 上段にテストデータを\n",
        "    plt.subplot(2, 5, i+1)\n",
        "    plt.imshow(imges[i][0].cpu().detach().numpy(), 'gray')\n",
        "\n",
        "    # 下段に生成データを表示する\n",
        "    plt.subplot(2, 5, 5+i+1)\n",
        "    plt.imshow(fake_img[i][0].cpu().detach().numpy(), 'gray')\n"
      ],
      "execution_count": null,
      "outputs": [
        {
          "output_type": "stream",
          "text": [
            "total loss： [456. 279. 716. 405. 359.]\n"
          ],
          "name": "stdout"
        },
        {
          "output_type": "display_data",
          "data": {
            "image/png": "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XtWn7rPPPoNlFOmg75QDHD0k8rKNU02z9Nm0jmu8zpry8Uw78giZjRs3Dr7TeEBjgM2bNwNw8803D5a55JJLgFpLp512GjA8PlBf2VSlXJER8sRF3d54440AXH/99UB9P9DncdvzYJqRgla4McYYY4wxxnQMP6gZY4wxxhhjTMeYeejjvEMLjBmXRQo7lXte5c2hThZWQrDCyWLxgs985jNAHR6psMZYgl8hYfourq9S+wqvUUJyLBCh/SqkQeEQWhbg61//OlBPTKwQSE/svnhIGyq5/4lPfGLwna5JhcdKz6WiPwoRU1ihQnRheYhWDKXV+gqd/P/be9No2cry3vc3t2hOck5ybOMlAkGlFUU6UaQHFcJFQBMcsU9idJiRDD3jmhyNN36IHjP0Q+JJc5IThmm4mgY1BBQVVDpRehREaUQQFYZt1Jzc8+FmoPN+2OtX71PvelftqrWqatXcPL8x9tirqmbN+c45//Ods562bg0RvzcNdfhxpA4Ri9eO4b5DLPowC8var9Z5mFRye5qw1nk17FWjbstQccOAAY4++migzIsWxIES1rj33nsDJVw2hkmq8W9/+9tAmdOjrtV6PZ5p74XLDCXdXa+HZWLxGUMYn/vc544+U2d+5v09hjUann766acDZR6O87GooRhCroZ9Tthnn32AUsAESjjkG9/4RqC08fnsZz87WsY5cncjPWpJkiRJkiRJkiQrxtI9alspwZsk28HQNNuyCmvx0sJl80kozYLPOussYH1TaoB9990XGPduwXgit4m/WsriMWuVRodiMY5j04rr901MhmJpswmx1mELPdTb3U62UzdD1qya0sOrByx6DtSsevT7loWGUgTE0vtf//rXx74DxavgNmITaq8D32slqtflzz3m8bpw3S6jRTlai7129KRFj5rr1Hu8SHYXzUY91VEEFpOJyzgPOT/FQkjONVrr63MNxSOh58pCTDFywfnUSAG3b4EmKEVy1Ibzph4yWN9MOOpZj4TvOZfGcXzjG98A4OCDDwbKveD2228fLXPbbbcBxZPnmGOBKed5oyTi8awbkM87KiVeX3WRnmQysYiHc5NRLP6vZwyKx1Vvrcc7zoe1plse6vq9GNngHGtUjdtQv/H7zo1ea29/+9tHy/gcsMwIG/cneg/VYj2OuoDRtPNdetSSJEmSJEmSJElWjG0pz58k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v/12oCTM1qX8AY477jgAPv3pTwPFwhS9HBsVeonj0WqrNS5q1uasJilrzdKSB0WPalVvS8vitarsDpqtG4vGOUPdeP6cp6JV/6STTgLgGc94BjDuMfD8ax31HLeS8Wutx6alz3/+8wE4+eSTgeKhja0EHLdeMouCxMIMemv1nu2zzz6jz7yObG2ihvXqQvE6qn01HK8vk9bdL+9NrRLY2zEnx6I/W7i+tqzb3bGQSesc11b6Qw89dLSM2rr11luBcu2cccYZo2We8pSnAEXHsYFxra3aqwxlznV+V6st71/dKiMuU7cZWCat54dNMJe5tuu6Ma+Ox3Or7W0WRauAl8+SF154IQD77bffaJnnPve5QPFKHX300UBp/RSZJmJKJjUtrwtJQYnK8XnF4xz3x+8Z0WCExfXXXz9aRr16HUT91tuvr9l6TPE70+hws7rdylPF2cD5a3+fD5yzhXUlyTJIzSZDIzWbDJHUbTI0UrPJSjKtR60HPtF1XQ/8Zd/35wFP7PveLqffAp644beXgL9y67yrOVlelo5jtQRpzPepvSNayz772c+OlnnwwQeBYinRehC9E9uRmybRQqFFxHOolfqpT33qaJl77rln1vjnldfsZmidM4+bliHjsqF4yfQ42Bg4ljfX6vTKV74SKDlu0SLout2WVtzonTjzzDOBYvFSu3Fd5kVoKY7WLK1geuJsPxHzju699951+z8PWp7K2qrWKk1dfy/mKmwir3Jump2Hd6KO14f1TU89R3F+qpunRmuz6zr11FMBOO+888a+A2Wuqptrx7wvyy57vP1O1Md9990HwDve8Q6geMbi/tRWVXPN4j56T3H70UPoe45Hz1pseO1+1Bb2liV4O/Bwf0MAABjnSURBVIgemU22vZiLbndHj1przlBP5o+Z3wPF++s86/3anDUoXl/v/y3t1PkzsUWG14wearUbiZEOcT8W6fGd5RqIXuBN5s/Nba798Y9/PKhc5HgO6/NqpMMVV1wxWubII48cW8b6B97Lodzraw9s3JbzTH1/gPXPsn7f+wuUe4bzb+01bu2HDbPjnO015jNonP+8zup7T7yvu4zfd9kYVbKRHqI3bpZradofasf1ff9g13U/C3yy67q74od93/drgl9H13WvA1439YiSZD6kZpOhkZpNhsimdJuaTbaRnGuTwTBV6GPf9w+u/f8d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\n",
            "text/plain": [
              "<Figure size 1080x432 with 10 Axes>"
            ]
          },
          "metadata": {
            "tags": []
          }
        }
      ]
    },
    {
      "cell_type": "markdown",
      "metadata": {
        "id": "8v2SE8_6NTR6"
      },
      "source": [
        "以上"
      ]
    }
  ]
}